Date post: | 09-Jul-2015 |
Category: |
Education |
Upload: | boncastell |
View: | 681 times |
Download: | 2 times |
PROGRAMACIÓN
ORIENTADA AL OBJETO
MARIO CASTILLO ROMO
INGENIERO INFORMÁTICO
CalificacionesFecha Porcentaje Tipo
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
Programación estructurada
• El programa completo tiene un diseñomodular.
• Los módulos se diseñan con metodologíadescendente (puede hacerse tambiénascendente).
• Cada módulo se codifica utilizando las tresestructuras de control básicas: secuenciales,selectivas y repetitivas
• Estructuración y modularidad son conceptoscomplementarios.
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.
Características de POO
Programación Orientada al objeto
Programación Orientada al objeto
POO V/S Estructurada
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.
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.
Comunicación entre Objetos
Estructura interna de un Objeto
• Un Objeto esta compuesto por:
– Atributos
– Métodos
• Atributos, describen el estado del objeto yesta compuesto de un nombre y un valor
• Métodos, Son las operaciones o serviciosque describen el comportamiento delObjeto
Herencia
• La herencia es la propiedad que permite alos objetos construirse a partir de otrosobjetos.
• Permite pasar de una clase a otra, ciertascaracterísticas, métodos, parámetros,funciones y atributos de una clase, entredos objetos con relación.
• Permite el ahorro de código y lacombinación de clases.
Ejemplo de Herencia
Sobrecarga
• Una Clase puede tener mas de 1
constructor.
• Los Constructores se diferencian por
cantidad, tipo y orden de parámetros.
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.
Polimorfismo
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.
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.
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.
Relaciones entre clases
• Existen varios tipos de relaciones:
– Asociación
– Agregación
– Generalización
– Especialización
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
Asociación
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.
Agregación
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.
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.
Generalización
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.
Especialización
Excepciones
Excepciones
Excepciones