Lista de exercícios sobre Orientação a Objetos em Java proposta pela formação Fullstack oferecida pela Codifica Edu e +praTI.
Tecnologias | Estrutura do código | Projeto | Como executar localmente
Esse projeto foi desenvolvido com as seguintes tecnologias:
- Git
- GitHub
- Java
lista_exercicios_java_OO/
│
├── abstracao/
| └── ex_1/
| | └── Produto.java
| |
| └── ex_2/
| └── Produto.java
|
|
├── encapsulamento/
| └── ex_1/
| | ├── Boleto.java
| | ├── CartaoCredito.java
| | ├── FormaPagamento.java
| | ├── Pix.java
| | └── SistemaPagamento.java
| |
| └── ex_2/
| ├── Desenvolvedor.java
| ├── Estagiario.java
| ├── Funcionario.java
| ├── Gerente.java
| └── SistemaGestaoFuncionarios.java
|
├── heranca/
| └── ex_1/
| | ├── Desenvolvedor.java
| | ├── Funcionario.java
| | ├── Gerente.java
| | └── Main.java
| |
| └── ex_2/
| ├── Desenvolvedor.java
| ├── Funcionario.java
| ├── Gerente.java
| └── Main.java
|
├── polimorfismo/
| └── ex_1/
| | ├── Bicicleta.java
| | ├── Carro.java
| | ├── IMeioTransporte.java
| | ├── Main.java
| | └── Trem.java
| |
| └── ex_2/
| ├── Animal.java
| ├── Cachorro.java
| ├── Gato.java
| ├── Main.java
| └── Vaca.java
|
├── README.md
Objetivo: Crie uma classe Produto que represente um produto de uma loja. A classe deve ter atributos privados nome, preco e quantidade em estoque. Implemente métodos públicos para acessar e modificar esses atributos. Garanta que o preço e a quantidade não possam ser negativos.
RESPOSTA: CLIQUE AQUI!
Objetivo: Extenda a classe Produto para incluir um método aplicarDesconto(double porcentagem) que reduz o preço do produto. Valide para garantir que o desconto não possa ser maior que 50%. Implemente a lógica que lança uma exceção se o desconto for inválido.
RESPOSTA: CLIQUE AQUI!
Objetivo: Crie uma classe Funcionario com atributos nome e salario. Em seguida, crie duas subclasses: Gerente e Desenvolvedor. Adicione um método calcularBonus que retorna um valor diferente para cada tipo de funcionário (por exemplo, 20% do salário para Gerente e 10% para Desenvolvedor). Utilize protected para permitir que as subclasses acessem os atributos da classe base de forma segura.
RESPOSTA: CLIQUE AQUI!
Objetivo: Na classe Funcionario, crie um método trabalhar(), que imprime uma mensagem genérica sobre o trabalho realizado. Nas subclasses Gerente e Desenvolvedor, sobrescreva esse método para especificar o tipo de trabalho realizado por cada um. Utilize a anotação @Override e explore como ela ajuda a garantir que a sobrescrita foi feita corretamente.
RESPOSTA: CLIQUE AQUI!
Objetivo: Crie uma interface IMeioTransporte com métodos acelerar() e frear(). Implemente essa interface em classes Carro, Bicicleta e Trem. No método principal, crie um array de IMeioTransporte e percorra-o chamando acelerar() e frear() para cada objeto. Utilize polimorfismo para que cada tipo de transporte implemente acelerar() e frear() de maneira diferente.
RESPOSTA: CLIQUE AQUI!
Objetivo: Crie uma classe abstrata Animal com um método abstrato emitirSom(). Crie subclasses Cachorro, Gato e Vaca, cada uma implementando emitirSom() de maneira específica. Crie uma lista de Animal no método principal e adicione instâncias de cada subclasse. Itere sobre a lista e invoque o método emitirSom() para cada animal, demonstrando o polimorfismo.
RESPOSTA: CLIQUE AQUI!
Objetivo: Crie uma classe abstrata FormaPagamento com métodos abstratos processarPagamento(double valor) e validarPagamento(). Crie classes concretas CartaoCredito, Boleto e Pix que herdam de FormaPagamento e implementam os métodos abstratos. Adicione lógica de validação específica para cada forma de pagamento e simule um sistema que utilize diferentes formas de pagamento.
RESPOSTA: CLIQUE AQUI!
Objetivo: Crie um sistema que gerencie diferentes tipos de funcionários (Gerente, Desenvolvedor, Estagiario). Cada tipo de funcionário deve ter uma maneira diferente de calcular o salário e o bônus. Utilize uma combinação de herança, polimorfismo e encapsulamento para estruturar as classes. Implemente um método calcularFolhaPagamento que itera sobre todos os funcionários e calcula o total de salários e bônus. Adicione novas funcionalidades, como a possibilidade de promover um funcionário, o que altera seu tipo e os cálculos de salário e bônus.
RESPOSTA: CLIQUE AQUI!
Siga os passos abaixo para configurar e executar o projeto localmente em sua máquina:
Antes de executar o projeto, você precisa ter o seguinte software instalado:
- Java Development Kit (JDK) 8 ou superior
- Um IDE de sua preferência (recomendado: IntelliJ IDEA ou Eclipse)
-
Clone o repositório:
git clone hhttps://github.com/KAYSILVHA/lista_exercicios_java_OO.git cd lista_exercicios_java_OO
-
Abra o projeto na sua IDE:
- Se estiver usando IntelliJ IDEA ou Eclipse, você pode abrir o diretório LISTA_EXERCICIOS_JAVA_ED diretamente como um projeto. Navegue até o exercício que você deseja executar.
Basta navegar até a pasta correspondente ao exercício que deseja executar e seguir o mesmo procedimento.