Pular para conteúdo

Exercícios - Aula 03 📝

🟢 Básicos

  1. Qual a diferença entre os modificadores public e private?
  2. Para que serve um método construtor em Java?

🟡 Intermediários

  1. Por que é considerado uma "má prática" deixar os atributos de uma classe como public?
  2. Explique o uso da palavra-chave this dentro de um método ou construtor.

🔴 Desafio

5. Crie uma classe Conta com o atributo saldo privado. Implemente um método sacar(double valor) que verifique se o saldo é suficiente antes de realizar a operação. Se não for, exiba uma mensagem de erro.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Qual a diferença entre os modificadores `public` e `private`? **Resposta Comentada:** - **Fundamentação:** No contexto de **Injeção de Dependências e IoC**, o conceito abordado (Qual a diferença entre os modificadores `public` e `private`?) é 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 2: Para que serve um método construtor em Java? **Resolução e Implementação:**
// Estrutura de implementação recomendada para Para que serve um método construtor em Java?
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Injeção de Dependências e IoC**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Por que é considerado uma "má prática" deixar os atributos de uma classe como `public`? **Resolução e Implementação:**
// Estrutura de implementação recomendada para Por que é considerado uma "má prática" deixar os atributos de uma classe como `public`?
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Injeção de Dependências e IoC**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Explique o uso da palavra **Resolução e Implementação:**
// Estrutura de implementação recomendada para Explique o uso da palavra
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Injeção de Dependências e IoC**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Crie uma classe `Conta` com o atributo `saldo` privado. Implemente um método `sacar(double valor)` que verifique se o saldo é suficiente antes de realizar a operação. Se não for, exiba uma mensagem de erro. **Resolução e Implementação:**
// Estrutura de implementação recomendada para Crie uma classe `Conta` com o atributo `saldo` privado. Implemente um método `sacar(double valor)` que verifique se o saldo é suficiente antes de realizar a operação. Se não for, exiba uma mensagem de erro.
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Injeção de Dependências e IoC**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.