1
resposta

Relatório

package Relatorios;

public class Main {
    static void main(String[] args) {
        Relatorio relatorio = new Relatorio(
                "Relatório de fevereiro",
                "Tudo conforme o esperado");

        relatorio.imprimir();
    }
}
package Relatorios;

public interface Imprimivel {
    void imprimir();
}
package Relatorios;

public class Relatorio implements Imprimivel{
    private String titulo;
    private String conteudo;

    public Relatorio(String titulo, String conteudo) {
        this.titulo = titulo;
        this.conteudo = conteudo;
    }

    @Override
    public void imprimir() {
        System.out.println("Título: " + titulo);
        System.out.println("Conteúdo " + conteudo);
    }
}
1 resposta

Oi, Gabriel! Como vai?

Agradeço por compartilhar.

Ficou bem claro como você aplicou a interface Imprimivel e fez a implementação na classe Relatorio. A separação entre interface e classe concreta está bem organizada, mostrando um bom entendimento de polimorfismo e reaproveitamento de código.

Uma dica interessante para o futuro é utilizar o método toString() para representar objetos de forma mais flexível.


public class Relatorio {
    private String titulo;
    private String conteudo;

    public String toString() {
        return "Titulo: " + titulo + "\nConteudo: " + conteudo;
    }
}

Esse código sobrescreve o metodo toString para retornar uma representação do objeto, facilitando exibição sem precisar de um método específico como imprimir.

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