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).
  • default Methods (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