Esta disciplina busca apresentar os principais conceitos de programação orientada por objetos como objetivo de proporcionar uma visão ampla dos conceitos. Os tópicos serão tratados de forma inter-relacionada e abrangem:

  • Filosofia e princípios

  • Fatores de qualidade de software

  • Modularidade

  • Módulos e compilação

  • Projeto e programação orientados por objetos

  • Tipos abstratos de dados e encapsulamento

  • Classes

  • Interfaces

  • Herança

  • Hierarquia de classes

  • Polimorfimos e amarração dinâmica

  • Tratamento de exceções

  • Padrões de projetos