Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Sistema escolar

package br.com.escola;

public class Pessoa {
    private String nome;
    private int idade;

    public Pessoa(String nome, int idade) {
        this.nome = nome;
        this.idade = idade;
    }

    public String getNome() {
        return nome;
    }

    public int getIdade() {
        return idade;
    }

    public void exibirDados() {
        System.out.printf("Nome: %s - Idade: %d%n", nome, idade);
    }
}
package br.com.escola;

public class Aluno extends Pessoa {
    private Double nota;

    public Aluno(String nome, int idade, double nota) {
        super(nome, idade);
        this.nota = nota;
    }

    @Override
    public void exibirDados() {
        System.out.printf("Aluno: %s - Idade: %d - Nota: %.1f%n", getNome(), getIdade(), nota);
    }
}
package br.com.escola;

public class Docente extends Pessoa {
    private String disciplina;

    public Docente(String nome, int idade, String disciplina) {
        super(nome, idade);
        this.disciplina = disciplina;
    }

    @Override
    public void exibirDados() {
        System.out.printf("Docente: %s - Idade: %d - Disciplina: %s%n", getNome(), getIdade(), disciplina);
    }
}
package br.com.escola;

public class Principal {
    public static void main(String[] args) {

        Pessoa aluno1 = new Aluno("João", 17, 9.2);
        Pessoa aluno2 = new Aluno("Maria", 16, 7.5);
        Pessoa docente1 = new Docente("Leandro", 35, "Geografia");
        Pessoa docente2 = new Docente("Marcia", 32, "Português");

        aluno1.exibirDados();
        aluno2.exibirDados();
        docente1.exibirDados();
        docente2.exibirDados();
    }
}

Saída:

Aluno: João - Idade: 17 - Nota: 9,2
Aluno: Maria - Idade: 16 - Nota: 7,5
Docente: Leandro - Idade: 35 - Disciplina: Geografia
Docente: Marcia - Idade: 32 - Disciplina: Português
1 resposta
solução!

Olá, Aline! Tudo bem?

Parabéns pela implementação! Seu código está muito bem estruturado e aplica perfeitamente os conceitos de Herança e Polimorfismo.

Um ponto excelente foi você ter declarado as variáveis com o tipo genérico Pessoa (Pessoa aluno1 = ...), mas instanciado os objetos específicos. Isso prova que o polimorfismo está funcionando: o Java entende, em tempo de execução, qual versão do método exibirDados() deve chamar para cada objeto.

Continue assim, está no caminho certo!

Conte sempre com a Alura para evoluir seus estudos.

Bons estudos!

Sucesso

Imagem da comunidade