PROGRAMACIÓN
ORIENTADA AL OBJETO

         MARIO CASTILLO ROMO
       INGENIERO INFORMÁTICO
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
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.
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 y
   esta compuesto de un nombre y un valor
 • Métodos, Son las operaciones o servicios
   que describen el comportamiento del
   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.
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

Programación orientada al objeto

  • 1.
    PROGRAMACIÓN ORIENTADA AL OBJETO MARIO CASTILLO ROMO INGENIERO INFORMÁTICO
  • 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 alobjeto • 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.
  • 5.
  • 6.
  • 7.
  • 8.
  • 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.
  • 11.
  • 12.
    Estructura interna deun 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 herenciaes 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.
  • 14.
  • 15.
    Sobrecarga • Una Clasepuede tener mas de 1 constructor. • Los Constructores se diferencian por cantidad, tipo y orden de parámetros.
  • 16.
    Polimorfismo • Es lacapacidad 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.
  • 17.
  • 18.
    Modularidad • Es ladivisió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 lenguajesde 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 unaconexión conceptual entre clases • Una asociación es una abstracción de los enlaces que existen entre instancias de objetos
  • 23.
  • 24.
    Agregación • Es untipo 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.
  • 25.
  • 26.
    Herencia • La herenciaes 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 laque 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.
  • 28.
  • 29.
    Especialización • Es laque se realiza cuando necesitamos crear una clase nueva que disponga de las mismas características que otra pero que le añada funcionalidades.
  • 30.
  • 31.
  • 32.
  • 33.