Programação Orientada a Objetos
Material da disciplina de Programação Orientada a Objetos (PROO).
Conteúdo:
1. Introdução a Java
- Tipos de dados
- Entrada e saída de dados
- Estruturas de decisão
- Estruturas de repetição
- Array
2. Classes e Objetos
- Classes
- Objetos
- Métodos
- Método construtor
- Encapsulamento
- Sobrecarga de método (method overloading)
- Atributos e métodos static
- Array de objetos
3. Associação entre Classes
- Associação
- Multiplicidade
- Navegabilidade
- Implementação usando array
- Implementação usando API Collections
4. Herança
- Herança
- Modificadores de acesso
- Sobrescrita de método
- Polimorfismo
- Classe selada (sealed class)
5. Classe abstrata e Interface
- Classe abstrata
- Método abstrato
- Interface
- Interface funcional
6. Acesso a banco de dados
- Java Database Connectivity (JDBC)
- Connection, DriverManager, PreparedStatement, ResultSet, SQLException
- Padrão Data Access Object (DAO)
- Padrão Factory para conexões (ConnectionFactory)
7. Clean Architecture
Strings
- Principais métods
- StringBuilder
- SringBuffer
API Collections
API Stream
- Estrutura
- Operações Intermediárias
- Operações Terminais
- Streams encadeadas
API Date/Time
- LocalDate
- LocalTime
- LocalDateTime
- Duration
- Period
- Date/Time Formatting
Exception Handling
- Checked exception
- Unchecked exception
- Lançando exceções
- Exceções personalizadas
- Try-with-resources
Generics
- Motivação
- Classes genéricas
- Interfaces genéricas
- Métodos genéricos
- Wildcards
Optional
- Motivação
- Como criar um Optional
- Como interagir com um Optional
Princípios SOLID
- S - Single Responsibility
- O - Open/Closed
- L - Liskov Substitution
- I - Interface Segregation
- D - Dependency Inversion
Frequently Asked Questions (FAQ)