Paradigma orientado a objetos e abstração. Objetos. Classes. Atributos. Métodos.
Construtores. Encapsulamento. Estado do objeto. Sobrecarga de método. Relacionamentos:
associação, agregação e composição. Herança: generalização e especialização. Polimorfismo.
Sobrescrita de método. Classes e métodos abstratos. Diagramas UML: classe e objeto.
Práticas em testes unitários. Documentação de classes e métodos. Depuração de programas.
Tratamento de exceções. Interface gráfica com o usuário.