2. Fecha Porcentaje Tipo
Calificaciones
29/08/2012 5 Control 1
12/09/2012 20 Solemne 1
10/10/2012 5 Control 2
31/10/2012 20 Solemne 2
21/11/2012 5 Control 3
12/12/2012 10 Tareas
12/12/2012 35 Solemne 3
19/12/2012 - Recuperativa
3. Programación estructurada
• El programa completo tiene un diseño
modular.
• Los módulos se diseñan con metodología
descendente (puede hacerse también
ascendente).
• Cada módulo se codifica utilizando las tres
estructuras de control básicas: secuenciales,
selectivas y repetitivas
• Estructuración y modularidad son conceptos
complementarios.
4. Programación Orientada al objeto
• Un objeto, es una abstracción de un
conjunto de cosas del mundo real.
• El objeto posee funcionalidades.
• El objeto posee características que
pueden ser usadas en forma
independiente, pero juntas se
complementan.
9. POO V/S Estructurada
• Los lenguajes de programación estructurada:
– Están orientados a acciones.
– La unidad de programación es la función.
• La programación orientada a objetos:
– Encapsula datos (atributos) y métodos
(comportamiento) en objetos que están
relacionados entre sí.
– La unidad de programación es la clase.
10. Comunicación entre Objetos
• Cuando se produce un evento, el objeto
receptor sabe cuál es el objeto emisor,
qué evento se produjo y el valor de los
datos asociados con dicho evento.
12. Estructura interna de un Objeto
• Un Objeto esta compuesto por:
– Atributos
– Métodos
• Atributos, describen el estado del objeto y
esta compuesto de un nombre y un valor
• Métodos, Son las operaciones o servicios
que describen el comportamiento del
Objeto
13. Herencia
• La herencia es la propiedad que permite a
los objetos construirse a partir de otros
objetos.
• Permite pasar de una clase a otra, ciertas
características, métodos, parámetros,
funciones y atributos de una clase, entre
dos objetos con relación.
• Permite el ahorro de código y la
combinación de clases.
15. Sobrecarga
• Una Clase puede tener mas de 1
constructor.
• Los Constructores se diferencian por
cantidad, tipo y orden de parámetros.
16. Polimorfismo
• Es la capacidad que tienen los Objetos de
una clase de responder al mismo mensaje
o evento en función de los parámetros
utilizados durante su invocación.
18. Modularidad
• Es la división de un sistema en módulos,
los cuales se comunican entre si.
• La unidad de modular es la Clase
• Ej. Una casa
– Modulo o Clase Calefacción, alcantarillado,
agua, electricidad, gas, etc.
19. Abstracción en lenguajes de
programación
• La abstracción consiste en captar las
características esenciales de un objeto,
así como su comportamiento.
• Cuando se diseña un modelo orientado a
objetos es útil introducir clases a cierto
nivel que pueden no existir en la realidad
pero son construcciones conceptuales
útiles.
20. Relaciones entre clases
• Una relación es una conexión semántica
entre clases
• Permite que una clase conozca sobre los
atributos, operaciones y relaciones de
otras clases.
21. Relaciones entre clases
• Existen varios tipos de relaciones:
– Asociación
– Agregación
– Generalización
– Especialización
22. Asociación
• Es una conexión conceptual entre clases
• Una asociación es una abstracción de los
enlaces que existen entre instancias de
objetos
24. Agregación
• Es un tipo especial de asociación que
expresa un acoplamiento mas fuerte entre
clases.
• Las agregaciones representan conexiones
bidireccionales y asimétricas.
• Permite la representación de relaciones
tales como maestro y esclavo, todo y
parte de, compuesto y componentes.
26. Herencia
• La herencia es la propiedad que permite a
los objetos construirse a partir de otros
objetos.
• Permite pasar de una clase a otra, ciertas
características, métodos, parámetros,
funciones y atributos de una clase, entre
dos objetos con relación.
• Permite el ahorro de código y la
combinación de clases.
27. Generalización
• Es la que realizamos cuando tenemos
muchas clases que comparten
funcionalidades y por homogeneizar las
partes comunes se decide crear una clase
que implemente toda esa parte común y
se dejan solo las partes especificas en
cada clase.
29. Especialización
• Es la que se realiza cuando necesitamos
crear una clase nueva que disponga de
las mismas características que otra pero
que le añada funcionalidades.