Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Desafio resolvido

package com.github.aldenyjr.exercicios.sistema_escolar;

public abstract 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;
    }
}
package com.github.aldenyjr.exercicios.sistema_escolar;

public class Aluno extends Pessoa {
    private double nota;

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

    public void exibirDados(){
        System.out.printf("Aluno: %s - Idade: %d - Nota: %.2f\n", super.getNome(), super.getIdade(), this.nota);
    }
}
package com.github.aldenyjr.exercicios.sistema_escolar;

public class Docente extends Pessoa {
    private String disciplina;

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

    public void exibirDados(){
        System.out.printf("Docente: %s - Idade: %d - Disciplina: %s\n", super.getNome(), super.getIdade(), this.disciplina);
    }
}
package com.github.aldenyjr.exercicios.sistema_escolar;

public class SistemaEscolar {
    public static void main(String[] args) {
        Aluno aluno1 = new Aluno("Julia", 16, 8.5);
        Aluno aluno2 = new Aluno("Caio", 17, 7.2);

        Docente docente1 = new Docente("Marta", 40, "Matemática");
        Docente docente2 = new Docente("Roberto", 38, "História");

        aluno1.exibirDados();
        aluno2.exibirDados();

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

Resultado:

Aluno: Julia - Idade: 16 - Nota: 8,50
Aluno: Caio - Idade: 17 - Nota: 7,20
Docente: Marta - Idade: 40 - Disciplina: Matemática
Docente: Roberto - Idade: 38 - Disciplina: História
2 respostas

Olá, Aldeny, como vai?

O código apresenta uma excelente compreensão sobre o uso de herança e polimorfismo na linguagem Java. A utilização da classe abstrata Pessoa como base para Aluno e Docente demonstra uma organização sólida do sistema escolar, garantindo que atributos comuns sejam reaproveitados de maneira eficiente. A implementação do método exibirDados utilizando printf permite uma formatação limpa e legível dos dados no terminal, seguindo exatamente o que foi proposto na atividade.

Parabéns pela resolução e por compartilhar seu projeto. Continue praticando essa lógica de abstração, pois ela é fundamental para o desenvolvimento de sistemas escaláveis.

O fórum está à disposição para qualquer dúvida ou para o compartilhamento de novos avanços em seus estudos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!
solução!

Obrigado!