Programación orientada al objeto

33
PROGRAMACIÓN ORIENTADA AL OBJETO MARIO CASTILLO ROMO INGENIERO INFORMÁTICO

description

Unidad 1 Programación orientada al objeto

Transcript of Programación orientada al objeto

Page 1: Programación orientada al objeto

PROGRAMACIÓN

ORIENTADA AL OBJETO

MARIO CASTILLO ROMO

INGENIERO INFORMÁTICO

Page 2: Programación orientada al objeto

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

Page 3: Programación orientada al objeto

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.

Page 4: Programación orientada al objeto

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.

Page 5: Programación orientada al objeto

Características de POO

Page 6: Programación orientada al objeto

Programación Orientada al objeto

Page 7: Programación orientada al objeto

Programación Orientada al objeto

Page 8: Programación orientada al objeto

POO V/S Estructurada

Page 9: Programación orientada al objeto

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.

Page 10: Programación orientada al objeto

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.

Page 11: Programación orientada al objeto

Comunicación entre Objetos

Page 12: Programación orientada al objeto

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

Page 13: Programación orientada al objeto

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.

Page 14: Programación orientada al objeto

Ejemplo de Herencia

Page 15: Programación orientada al objeto

Sobrecarga

• Una Clase puede tener mas de 1

constructor.

• Los Constructores se diferencian por

cantidad, tipo y orden de parámetros.

Page 16: Programación orientada al objeto

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.

Page 17: Programación orientada al objeto

Polimorfismo

Page 18: Programación orientada al objeto

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.

Page 19: Programación orientada al objeto

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.

Page 20: Programación orientada al objeto

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.

Page 21: Programación orientada al objeto

Relaciones entre clases

• Existen varios tipos de relaciones:

– Asociación

– Agregación

– Generalización

– Especialización

Page 22: Programación orientada al objeto

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

Page 23: Programación orientada al objeto

Asociación

Page 24: Programación orientada al objeto

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.

Page 25: Programación orientada al objeto

Agregación

Page 26: Programación orientada al objeto

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.

Page 27: Programación orientada al objeto

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.

Page 28: Programación orientada al objeto

Generalización

Page 29: Programación orientada al objeto

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.

Page 30: Programación orientada al objeto

Especialización

Page 31: Programación orientada al objeto

Excepciones

Page 32: Programación orientada al objeto

Excepciones

Page 33: Programación orientada al objeto

Excepciones