2.13.1 PL/Programación orientada a objetos (4 horas Core-Tier1, 6 horas Core-Tier2)
Temas:
Core Tier1
- Diseño orientado a objetos:
- Descomposicion en objetos que almacenan estados y poseen comportamiento
- Diseño basado en jerarquia de clases para modelamiento
- Definición de las categorías, campos, métodos y constructores.
- Las subclases, herencia y método de alteración temporal.
- Asignación dinámica: definición de método de llamada.
Core Tier2
- Subtipificación:
- Polimorfismo artículo Subtipo; upcasts implícitos en lenguajes con tipos.
- Noción de reemplazo de comportamiento: los subtipos de actuar como supertipos.
- Relación entre subtipos y la herencia.
Ref: Sistemas de tipos
- Lenguajes orientados a objetos para la encapsulación:
- privacidad y la visibilidad de miembros de la clase
- Interfaces revelan único método de firmas
- clases base abstractas
- Uso de coleccion de clases, iteradores, y otros componentes de la libreria estandar.
Objetivos de Aprendizaje:
Core-Tier1:
- Diseñar e implementar una clase [Usar]
- Usar subclase para diseñar una jerarquía simple de clases que permita al código ser reusable por diferentes subclases [Usar]
- Razonar correctamente sobre el flujo de control en un programa mediante el envío dinámico [Usar]
- Comparar y contrastar (1) el enfoque procedurar/funcional- definiendo una función por cada operación con el cuerdo de la función proporcionando un caso por cada variación de dato - y (2) el enfoque orientado a objetos - definiendo una clase por cada variación de dato con la definición de la clase proporcionando un método por cada operación. Entender ambos enfoques como una definición de variaciones y operaciones de una matriz [Evaluar]
Core-Tier2:
- Explicar la relación entre la herencia orientada a objetos (codigo compartido y overriding) y subtipificación (la idea de un subtipo es ser utilizable en un contexto en el que espera al supertipo) [Familiarizarse]
- Usar mecanismos de encapsulación orientada a objetos, tal como interfaces y miembros privados [Usar]
- Definir y usar iteradores y otras operaciones sobre agregaciones, incluyendo operaciones que tienen funciones como argumentos, en múltiples lenguajes de programación, selecionar la forma mas natural por cada lenguaje [Usar]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM