Geração TEC Java - Julho/2013
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Exercício adicional 22/08 - Sobrescrita (Nome formal)

Ir para baixo

Exercício adicional 22/08 - Sobrescrita (Nome formal) Empty Exercício adicional 22/08 - Sobrescrita (Nome formal)

Mensagem por Admin Sex Ago 23, 2013 1:57 pm

Notem que o método getNomeFormal() só é implementado em duas classes: Pessoa e Professor

As classes Funcionario e Aluno herdam o método normalmente.
A classe Professor sobrescreve este método para permitir que o nome formal do professor seja gerado de forma específica.

Pessoa.java
Código:

public class Pessoa {
   protected String nome;
   protected String sexo;

   public String getNome() {
      return nome;
   }

   public void setNome(String nome) {
      this.nome = nome;
   }

   public String getSexo() {
      return sexo;
   }

   public void setSexo(String sexo) {
      this.sexo = sexo;
   }

   public String getNomeFormal() {
      if (sexo.equalsIgnoreCase("M")) {
         return "Sr. " + nome;
      } else if (sexo.equalsIgnoreCase("F")) {
         return "Sra. " + nome;
      } else {
         throw new IllegalStateException("Sexo indefinido!");
      }
   }
}
Aluno.java
Código:

public class Aluno extends Pessoa{
   private String matricula;

   public String getMatricula() {
      return matricula;
   }

   public void setMatricula(String matricula) {
      this.matricula = matricula;
   }

}
Funcionario.java
Código:

public class Funcionario extends Pessoa {
   private double salario;

   public double getSalario() {
      return salario;
   }

   public void setSalario(double salario) {
      this.salario = salario;
   }

}
Professor.java
Código:

public class Professor extends Funcionario{
   private String titulacao;

   public String getTitulacao() {
      return titulacao;
   }

   public void setTitulacao(String titulacao) {
      this.titulacao = titulacao;
   }

   //MÉTODO SOBRESCRITO!!!   
   public String getNomeFormal() {
      if (getSexo().equalsIgnoreCase("M")) {
         return "Prof. " + getNome();
      } else if (getSexo().equalsIgnoreCase("F")) {
         return "Profa. " + getNome();
      } else {
         throw new IllegalStateException("Sexo indefinido!");
      }
   }

}

Admin
Admin

Mensagens : 123
Data de inscrição : 01/07/2013

https://geracaotecjava.forumbrasil.net

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos