Este material contém apenas os enunciados dos exercícios para prática.
Crie uma interface Animal com os métodos emitirSom() e mover().
Depois, implemente-a nas classes Cachorro e Gato.
No programa principal, crie objetos das duas classes e invoque seus métodos.
Crie uma interface OperacoesMatematicas que define constantes para PI e E,
além dos métodos somar, subtrair, multiplicar e dividir.
Implemente essa interface na classe Calculadora.
Crie uma interface Pagamento com o método processarPagamento(double valor).
- Adicione um método
default gerarRecibo(double valor)que imprime um recibo. - Adicione um método
static validarValor(double valor)que verifica se o valor é positivo.
Implemente emCartaoCreditoePix.
Implemente um sistema de gerenciamento de arquivos com uma interface Armazenamento que define os métodos salvar(String dado) e ler().
Crie implementações para:
BancoDeDados(simula armazenamento em BD)ArquivoTexto(simula gravação em arquivo de texto)
No programa principal, crie uma lista de Armazenamento e demonstre polimorfismo.
Desenvolva um sistema de notificações com os seguintes requisitos:
- Crie uma interface
Notificacaocom o métodoenviar(String mensagem). - Implemente pelo menos três classes que representem canais de notificação:
EmailNotificacaoSmsNotificacaoPushNotificacao
- Crie uma classe
GerenciadorDeNotificacoesque receba uma lista de notificadores (injeção de dependência) e tenha um métodonotificarTodos(String mensagem). - No programa principal (
main), permita que o usuário escolha quais canais de notificação deseja utilizar. - O sistema deve permitir expansão futura (exemplo: adicionar
WhatsAppNotificacaosem modificar o código existente).
✍️ Resolva os desafios implementando as classes e interfaces solicitadas.