5.7.6 PL/Programación Orientada a Objetos. (10 horas)
Tópicos
- Diseño orientado a objetos.
- Encapsulación y ocultamiento de la información.
- Separación de comportamiento e implementación.
- Clases y subclases.
- Herencia (sobreescritura, despacho dinámico).
- Polimorfismo (polimorfismo de subtipo vs. herencia).
- Jerarquías de clases.
- Clases de tipo colección y protocolos de iteración.
- Representaciones internas de objetos y tablas de métodos.
- Uso de UML para diseño de sistemas centrados en el usuario (diagramas de casos de uso, diagramas de actividad, y otros).
Objetivos
- Justificar la filosofía de diseño orientado a objetos y los conceptos de encapsulación, abstracción, herencia y polimorfismo.
- Diseñar, implementar, probar y depurar programas simples en un lenguaje de programación orientado a objetos.
- Describir como los mecanismos de clases soportan encapsulación y ocultamiento de la información.
- Diseñar, implementar y probar la implementacion de la relación es-un IsKindOf entre objetos usando jerarquía de clases y herencia.
- Comparar y contrastar las nociones de sobrecarga y sobreescritura de métodos en un lenguaje de programación.
- Explicar la relación entre la estructura estática de una clase y la estructura dinámica de las instancias de dicha clases.
- Describir como los iteradores acceden a los elementos de un contenedor.
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, Universidad Católica San Pablo, Arequipa-Peru
basado en el modelo de la Computing Curricula de IEEE-CS/ACM