Buscar

Linguagem de Programação II Exercícios Objetos e Classes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Linguagem de Programação II Exercícios Objetos e Classes 
Considere a linguagem Java e a classe Pessoa implementada a seguir: 
public class Pessoa { 
public String nome; public String telefone; private Date dataDeNascimento; 
public Date getDataDeNascimento() { 
return dataDeNascimento; } 
public String toString() { 
String texto = String.format("Nome: %s\nTelefone: %s", this.nome, this.telefone); return texto; } 
} 
1) Na classe Pessoa, identifique e cite: 
seus atributos: nome (public String nome), telefone (public String telefone) e dataDeNascimento (private Date dataDeNascimento)
 seus construtores: Não possui
seus métodos: getDataDeNascimento(), toString()
2) Mostre o trecho de código necessário para adicionar um construtor à classe Pessoa que receba como parâmetros um valor inicial para todos seus atributos e defina seu estado inicial. Indique na especificação acima onde o construtor deveria ser posicionado. 
public Pessoa(String nome, String telefone, Date dataDeNascimento) {
        this.nome = nome;
        this.telefone = telefone;
        this.dataDeNascimento = dataDeNascimento;
}
DEVE SER COLOCADO ENTRE O ATRIBUTO DATADENASCIMETO E O MÉTODO GETDATADENASCIMENTO()
3) Considerando o construtor adicionado na questão anterior, mostre um trecho de código que cria uma instância da classe Pessoa e especifique um estado inicial. Quais serão os valores retornados ao invocar getDataDeNascimento() e toString()? 
public class CriarPessoa {
    public static void main(String[] args) {
        Pessoa p1 = new Pessoa("Kleison", "(83)3000-0000", new Date(94, 05, 16));
        }
}
GET - IRÁ RETORNAR A DATA DE NASCIMENTO, QUE NESTE CASO É 16/05/1994.
TOSTRING - 
Nome: Kleison
Telefone: (83)3000-0000
4) Explique o conceito de sobrecarga (overloading) e mostre como ela pode ser usada para adicionar um segundo construtor que receba como parâmetros apenas um nome e um telefone e que use o construtor criado na questão anterior. 
Em java pode-se ter vários métodos com o mesmo nome. Isso é chamado de sobrecarga. Mas cada um dos métodos tem uma assinatura, que é o que difere uns dos outros, junto com o seu nome. Sua assinatura são os parâmetros que ele espera receber.
public Pessoa(String nome, String telefone, Date dataDeNascimento) {
        this.nome = nome;
        this.telefone = telefone;
        this.dataDeNascimento = dataDeNascimento;
    }
    
    public Pessoa(String nome, String telefone) {
        this.nome = nome;
        this.telefone = telefone;
    }
    
5) Explique o conceito de encapsulamento, sua importância e mostre detalhadamente como ele é aplicado ou quais modificações deveriam ser feitas na classe Pessoa para que ele fosse corretamente aplicado. 
Encapsulamento é a técnica utilizada para esconder uma ideia, ou seja, não expor detalhes internos para o usuário, tornando partes do sistema mais independentes possível.  Em um processo de encapsulamento os atributos das classes são do tipo private. Para acessar esses tipos de modificadores, é necessário criar métodos setters e getters.
public class Pessoa { 
private String nome; private String telefone; private Date dataDeNascimento; 
public void setNome(){
    this.nome  = nome;
}
public String getNome() { 
return nome; } 
public void setTelefone(){
    this.telefone  = telefone;
}
public String getTelefone() { 
return telefone; } 
public void setDataDeNascimento(){
    this.dataDeNascimento  = dataDeNascimento;
}
public Date getDataDeNascimento() { 
return dataDeNascimento; } 
public String toString() { 
String texto = String.format("Nome: %s\nTelefone: %s", this.nome, this.telefone); return texto; } 
}

Continue navegando

Outros materiais