Capítulo 10: Interfaces, Contratos, Default Methods e Inversão de Controle
Especialização em Sistemas com Java 21 LTS • Capítulo 10
🗺️ Mapa Conceitual do Tópico
classDiagram
class NotificadorService {
<<interface>>
+enviar(destinatario, msg)* boolean
+formatarMensagem(msg) String
}
class EmailNotificador {
+enviar(destinatario, msg) boolean
}
class SmsNotificador {
+enviar(destinatario, msg) boolean
}
EmailNotificador ..|> NotificadorService : implements
SmsNotificador ..|> NotificadorService : implements
📜 1. Interfaces e Contratos de Serviço
Interfaces definem contratos puros em Java:
- Múltipla Implementação: Uma classe pode implementar múltiplas interfaces (
implements A, B). defaultMethods (Java 8+): Permitem fornecer implementações padrão de métodos na própria interface sem quebrar classes clientes.- Inversão de Controle (IoC): Serviços devem depender de abstrações (interfaces), e não de implementações concretas.
💻 Exemplo Prático e Compilável em Java 21
// Notificador.java - Interface com Default Method
package com.empresa.notificacoes;
public interface Notificador {
boolean enviar(String destinatario, String mensagem);
default String formatarLog(String destinatario, String status) {
return String.format("[LOG] Envio para %s: %s", destinatario, status);
}
}
🔗 Recursos Pedagógicos do Capítulo 10
| Recurso Didático | Finalidade | Link de Acesso |
|---|---|---|
| 📊 Slides de Aula | Apresentação visual interativa com Dark Mode e suporte a teclado | Ver Slides |
| 🧠 Quiz Formativo | Teste interativo de fixação com feedback imediato por alternativa | Fazer Quiz |
| 💻 Exemplos de Código | Demonstrações funcionais compiláveis com saída no console | Ver Exemplos |
| 🧩 Exercícios em 4 Níveis | Lista progressiva de fixação com gabarito em bloco colapsável | Resolver Exercícios |
| 🧬 Capítulo Anterior | 📚 Sumário de Tópicos | 🛡️ Próximo Capítulo |