Este repositório tem como objetivo guiar seus estudos sobre os principais conceitos de Programação Orientada a Objetos (POO) usando a linguagem Kotlin.
- O que é Programação Orientada a Objetos?
- Vantagens da POO
- Os 4 pilares da POO:
- Abstração
- Encapsulamento
- Herança
- Polimorfismo
- Definição de classes (
class
) - Criação de objetos
- Construtores primários e secundários
- Inicialização com bloco
init
- Propriedades (
val
vsvar
) - Métodos e funções membros
- Modificadores de visibilidade:
public
private
protected
internal
- Getters e setters customizados
- Classes imutáveis com
data class
eval
- Utilização da palavra-chave
open
- Criação de subclasses
- Sobrescrita de métodos com
override
- Utilização de
super
- Hierarquias de herança
- Sobrescrita de funções
- Comportamentos diferentes com o mesmo nome
- Polimorfismo dinâmico e estático
- Uso de classes e métodos abstratos
- Diferenças entre
abstract class
einterface
- Implementação de múltiplas interfaces
- Métodos abstratos vs concretos
- Boas práticas de uso
- Criação de classes para modelagem de dados
- Vantagens das
data class
- Métodos gerados automaticamente:
toString()
equals()
hashCode()
copy()
object
declaration: objetos singletoncompanion object
: membros estáticos- Diferenças e casos de uso comuns
nested class
: classe estática aninhadainner class
: classe interna com acesso ao escopo da classe externa- Casos de uso práticos
- Princípios SOLID
- Padrões de projeto aplicáveis em Kotlin:
- Singleton
- Factory
- Strategy
- Manutenção e reutilização de código
- Kotlin 1.8+ (ou versão compatível com seu ambiente)
- IDE recomendada: IntelliJ IDEA ou Android Studio
- Crie um projeto Kotlin simples.
- Implemente exemplos práticos para cada tópico acima.
- Documente o que aprendeu com comentários e README em cada pasta.
- Experimente e brinque com o código!
Crie um projeto por tópico com exemplos separados, use testes ou aplicações simples no main()
para validar seu aprendizado.
Bons estudos e boa prática com Kotlin! 💻🔥