Introduzir os conceitos de programação orientada a objetos e metodologia de desenvolvimento de software segundo esse paradigma.
Projeto orientado a objetos. Encapsulamento e ocultação de informação (information hiding). Separação de comportamento e implementação. Classes e subclasses. Herança. Polimorfismo. Hierarquias de classes. Classes de coleções e métodos de iteração
Projeto orientado a objetos. Encapsulamento e ocultação de informação (information hiding). Separação de comportamento e implementação. Classes e subclasses. Herança – Overriding, Dynamic dispatch. Polimorfismo – Relação entre Polimorfismo (de subtipo) e Herança. Hierarquias de classes. Classes de coleções e métodos de interação – Conjuntos, Listas e Mapas.Objetivos de aprendizado:1. Justificar a filosofia do projeto orientado a objetos e os conceitos de encapsulamento, abstração, herança e polimorfismo.2. Projetar, implementar, testar e depurar programas simples em uma linguagem de programação orientada a objetos.3. Descrever como o mecanismo de classes suporta encapsulamento e ocultação de informação (information hiding).4. Projetar, implementar e testar a implementação de relações “é-um” (is-a) entre objetos usando uma hierarquia de classes e herança.5. Comparar e contrastar as noções de overloading e overriding métodos numa linguagem orientada a objetos.6. Descrever como iteradores (iterators) acessam os elementos de coleções.
Livro Texto:- DEITEL, H. M.; DEITEL, P.J.: C++ - Como Programar, Prentice-Hall, 8ª Edição, 2010, ISBN 9788576055631.- DEITEL, H. M.; DEITEL, P.J.: C++ - Como Programar, Prentice-Hall, 5ª Edição, 2006, ISBN 9788576050568.Bibliografia Complementar: - FILHO, A. M. S. - Introdução à Programação Orientada a Objetos com C++, Editora Campus, 2010, ISBN 9788535237023. - ECKEL, B.: Thinking in Java, Prentice Hall, 4ª Edição, 2006, ISBN 9780131872486 - ECKEL, B.: Thinking in C++, vol 1, Prentice Hall, 2ª Edição, 2000, ISBN 9780139798092. - BORATTI, I. C. - Programação Orientada a Objetos em Java, Visual Books, 2007, ISBN 9788575021996. - THOMAS, D.; HANSSON, D.; BREEDT, L.; CLARK, M. Agile Web Development with Rails. 2nd Edition. (Paperback, Dec 14, 2006).