Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Resolução

package com.github.lucasdevrj.exercicios.implementandoumainterface;

public interface Imprimivel {

    void imprimir();
}
package com.github.lucasdevrj.exercicios.implementandoumainterface;

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() {
        String relatorio = """
                Título: %s
                Conteúdo: %s
                """.formatted(titulo, conteudo);
        System.out.println(relatorio);
    }
}
package com.github.lucasdevrj.exercicios.implementandoumainterface;

public class Principal {
    public static void main(String[] args) {
        Relatorio relatorio = new Relatorio("Java", "Ainda estudo Java porque sonho em trabalhar com ele.");
        relatorio.imprimir();
    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Beleza?

1 resposta

Olá, Lucas! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou a interface Imprimivel para definir um contrato de comportamento em Java, utilizou muito bem a implementação na classe Relatorio para estruturar os dados e ainda aplicou o método imprimir de forma clara e organizada.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Encapsulamento: manter atributos privados e acessá-los via getters.
  • Uso de construtores: garantir que objetos sejam criados já com valores obrigatórios.
  • Testes unitários: validar que cada implementação da interface imprime corretamente os dados esperados.

Ah, uma pergunta: você acha que expandir o uso da interface para várias classes diferentes ajuda a visualizar melhor o conceito de polimorfismo ou prefere manter apenas um exemplo simples para fixar a ideia inicial?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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