5.1.4.6 Programación Orientada a Objetos I: Fundamentos (10 horas) [Habilidades AG-C08,AG-C12]

Referencias Bibliográficas: [Zelle, 2010,Guttag, 2013]

Temas

  1. Subclases, herencia (incluyendo herencia múltiple) y sobrescritura de métodos.
  2. Despacho dinámico: definición de llamada a método.
  3. Idiomas orientados a objetos para encapsulación:
    1. Privacidad, ocultación de datos y visibilidad de miembros de clase.
    2. Interfaces que revelan solo firmas de métodos.
    3. Clases base abstractas, rasgos (traits) y mixins.
  4. Clases y objetos en Python.
  5. Atributos y métodos.
  6. Fundamentos de herencia y polimorfismo.
  7. Encapsulamiento y ocultación de información.

Aprendizaje esperado (Learning Outcomes)

  1. Construir una jerarquía de clases simple utilizando subclases que permita reutilizar código para subclases distintas [Usar]
  2. Explicar la relación entre la herencia orientada a objetos (compartición de código y sobrescritura) y el subtipado (la idea de que un subtipo sea usable en un contexto que espera el supertipo) [Familiarizarse]
  3. Comparar y contrastar los beneficios y costos/impacto de usar herencia (subclases) y composición (específicamente, cómo basar la composición en funciones de orden superior) [Evaluar]
  4. Diseñar e implementar clases simples en Python. [Usar]
  5. Explicar los beneficios de la POO para la organización del código. [Familiarizarse]

Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM