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

Referencias Bibliográficas: [Brookshear and Brylow, 2019b]

Temas

  1. Programación imperativa como subconjunto de la programación orientada a objetos.
  2. Diseño orientado a objetos:
    1. Descomposición en objetos que poseen estado y tienen comportamiento.
    2. Diseño de jerarquía de clases para modelado.
  3. Definición de clases: campos, métodos y constructores.
  4. Subclases, herencia (incluyendo herencia múltiple) y sobrescritura de métodos.
  5. Despacho dinámico: definición de llamada a método.
  6. 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.

Aprendizaje esperado (Learning Outcomes)

  1. Enumerar las diferencias entre los paradigmas de programación imperativa y orientada a objetos [Enumerar]
  2. Componer una clase a través del diseño, implementación y prueba para cumplir con los requisitos de comportamiento [Componer]
  3. Usar mecanismos de encapsulación orientados a objetos como interfaces y miembros privados [Usar]



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