Olá, Alessandro! Tudo bem com você?
Peço desculpas pela demora no retorno a sua mensagem.
Agradeço por compartilhar sua experiência e feedback sobre o exercício do curso. O seu feedback é uma ferramenta valiosa para o aprimoramento do curso, e sua contribuição pode ajudar a melhorar a experiência de aprendizado de outros estudantes. É importante que os exercícios estejam alinhados com o conteúdo apresentado nas videoaulas para evitar confusões e garantir um aprendizado consistente.
Nesse caso, podemos obter uma orientação mais precisa sobre o exercício na opção "Opnião do professor", que é um recurso disponível na atividade para nos ajudar a construir uma resposta. Nela vemos que uma forma de resolver o desafio é criando um template do relatório:
abstract class Relatorio {
protected abstract void cabecalho();
protected abstract void rodape();
protected abstract void corpo(List<Conta> contas);
public void imprime(List<Conta> contas) {
cabecalho();
corpo(contas);
rodape();
}
}
Após isso, implementar os diferentes relatórios, preenchendo somente os "buracos" do template:
class RelatorioSimples extends Relatorio {
protected void cabecalho() {
System.out.println("Banco XYZ");
}
protected void rodape() {
System.out.println("(11) 1234-5678");
}
protected void corpo(List<Conta> contas) {
for(Conta conta : contas) {
System.out.println( conta.getNome() + " - " + conta.getSaldo() );
}
}
}
class RelatorioComplexo extends Relatorio {
protected void cabecalho() {
System.out.println("Banco XYZ");
System.out.println("Avenida Paulista, 1234");
System.out.println("(11) 1234-5678");
}
protected void rodape() {
System.out.println("banco@xyz.com.br");
System.out.println(Calendar.getInstance().getTime());
}
protected void corpo(List<Conta> contas) {
for(Conta conta : contas) {
System.out.println( conta.getNome() + " - " + conta.getNumero() + " - " + conta.getAgencia() + " - " + conta.getSaldo() );
}
}
}
Devemos nos lembrar também que os exercícios são uma oportunidade de aplicar o conhecimento adquirido e, às vezes, podem apresentar desafios adicionais para estimular o raciocínio e a criatividade na resolução do problema.
Espero ter ajudado.
Abraços e bons estudos!