Pular para conteúdo

Exercícios - Aula 05 📝

🟢 Básicos

  1. Qual a principal diferença entre uma Classe Comum e uma Classe Abstrata?
  2. Como se chama op processo de uma classe "cumprir" os métodos definidos em uma Interface?

🟡 Intermediários

  1. Por que dizemos que uma Interface é um "contrato"?
  2. Uma classe pode herdar de uma classe abstrata e implementar duas interfaces ao mesmo tempo? Explique.

🔴 Desafio

5. Projete a interface Autenticavel com o método autenticar(String login, String senha). Crie a classe Usuario que implementa essa interface.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Qual a principal diferença entre uma Classe Comum e uma Classe Abstrata? **Resolução e Implementação:**
// Estrutura de implementação recomendada para Qual a principal diferença entre uma Classe Comum e uma Classe Abstrata?
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Criando APIs REST com Spring Web**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Como se chama op processo de uma classe "cumprir" os métodos definidos em uma Interface? **Resolução e Implementação:**
// Estrutura de implementação recomendada para Como se chama op processo de uma classe "cumprir" os métodos definidos em uma Interface?
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Criando APIs REST com Spring Web**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Por que dizemos que uma Interface é um "contrato"? **Resposta Comentada:** - **Fundamentação:** No contexto de **Criando APIs REST com Spring Web**, o conceito abordado (Por que dizemos que uma Interface é um "contrato"?) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Uma classe pode herdar de uma classe abstrata e implementar duas interfaces ao mesmo tempo? Explique. **Resolução e Implementação:**
// Estrutura de implementação recomendada para Uma classe pode herdar de uma classe abstrata e implementar duas interfaces ao mesmo tempo? Explique.
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Criando APIs REST com Spring Web**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Projete a interface `Autenticavel` com o método `autenticar(String login, String senha)`. Crie a classe `Usuario` que implementa essa interface. **Resolução e Implementação:**
// Estrutura de implementação recomendada para Projete a interface `Autenticavel` com o método `autenticar(String login, String senha)`. Crie a classe `Usuario` que implementa essa interface.
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Criando APIs REST com Spring Web**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.