You are on page 1of 18

Algorítmica II

CAPÍTULO II
PROGRAMACION ORIENTADA A OBJETOS (POO)

DAI - Ing. Arturo Rozas Huacho

1

Programación Orientada a Objetos 2.Ing. tipos. personas.. jerarquía. lámparas. Abarca los principios de abstracción. DAI . etc.1. encapsulación. reservaciones aéreas.MODELO DE OBJETOS Es una forma de representar la realidad a imagen y semejanza. Arturo Rozas Huacho 2 . etc. • Intangibles: cuentas corrientes. modularidad. considerando que el mundo real que tratamos está constituido por cosas. • Tangibles: libros. concurrencia y persistencia. entidades u objetos que interactúan entre sí.Algorítmica II.

Ing. Arturo Rozas Huacho 3 .MECANISMOS DE ABSTRACCION los mecanismos de abstracción permitan entender. Dentro de estos mecanismos tenemos: •Abstracción de clasificación •Abstracción de generalización – especialización •Abstracción de agregación/composición DAI . clasificar y modelar la realidad. Programación Orientada a Objetos 2.2.Algorítmica II..

DAI . Todo objeto pertenece por lo menos a una clase de objetos. Arturo Rozas Huacho 4 .2.Abstracción de Clasificación La abstracción de clasificación nos permite percibir que los objetos de la realidad se pueden agrupar en clases o tipos de objetos. Programación Orientada a Objetos 2.Ing. caracterizados por propiedades y comportamiento comunes.Algorítmica II.1.. Clase de Objetos Empleados Clase de Objetos Libros Clase de Objetos Documentos El mundo real esta formado por objetos.

Vehículo de Transporte Especialización Generalización Vehículo de transporte aéreo Vehículo de Transporte marítimo Avión Helicóptero Los Objetos del mundo real se organizan en clases y subclases. Arturo Rozas Huacho 5 .2. Programación Orientada a Objetos 2.Abstracción de Generalización-Especialización Los objetos de clase Avión y de la clase Helicóptero pertenecen a una clase más genérica Vehículos de transporte Aéreo. con una estructura jerárquica.Algorítmica II. Esta clase conjuntamente con las clases Vehículos de Transporte Terrestre y Vehículos de Transporte Marítimo pertenecen aún a otra clase más genérica como es la clase Vehículo de Transporte.. DAI .Ing.2.

DAI . Objeto Computador Objeto Impresora Objeto CPU Objeto Monitor Objeto Teclado La abstracción de agregación es la representación del “todo y sus partes”. Arturo Rozas Huacho 6 .3.Ing. Así. MOUSE.Abstracción de Agregación Si se hace un análisis más minucioso de los objetos del mundo real..Algorítmica II. MONITOR.2. un objeto de la clase COMPUTADOR esta formado por objetos de las clases CPU. se puede constatar que muchos de estos objetos están construidos a partir de otros objetos. TECLADO. IMPRESORA etc. Programación Orientada a Objetos 2.

por tanto. Un objeto modela alguna parte de la realidad y es. • Algo hacia lo que se dirige un pensamiento o acción.Algorítmica II. • Algo que puede comprenderse intelectualmente.. Programación Orientada a Objetos 2. Arturo Rozas Huacho 7 . DAI .3. Objeto = Información + Comportamiento Desde la perspectiva de la cognición humana.CONCEPTO DE OBJETO Definición Informal Un objeto es una entidad o cosa que tiene ciertas propiedades (información) y exhibe algún comportamiento bien definido. un objeto es cualquiera de las siguientes cosas: • Una cosa tangible y/o visible.Ing. algo que existe en el tiempo y el espacio.

Perú 123 Doc.CONCEPTO DE OBJETOS… Definición Formal (Grady Booch) Un objeto es una entidad que tiene un estado.3. CUENTA DE AHORROS Número Cuenta: 12345 Nombres: Ana Paz Dirección: Av.Algorítmica II. un comportamiento y una identidad.Ing.. Arturo Rozas Huacho 8 . Programación Orientada a Objetos 2. Identidad: 23742723 Registrar Depósitos() Registrar Retiros() Calcular Intereses() Tipo de Objeto Los valores de las características constituyen el estado de un objeto Características El Número de Cuenta identifica al objeto Operaciones Las operaciones constituyen el comportamiento del objeto DAI .

Nombres. Los atributos normalmente son estáticos. propiedades o atributos. Documento de Identidad. el objeto Cuenta de Ahorro tiene como atributos: Número Cuenta.CONCEPTO DE OBJETOS…(Estado) Todos los objetos tienen características. mientras que los valores asociados a estos atributos son dinámicos. DAI ..Ing. Dirección. El estado de un objeto está dado por los valores actuales de cada una de sus propiedades o atributos. no cambian con el tiempo.Algorítmica II. Arturo Rozas Huacho 9 . Programación Orientada a Objetos 2. Por ejemplo.3. pueden cambiar con el tiempo.

Objeto Cuenta Ahorros (Servicios) Interacción entre Objetos Objeto Cajero (Servicios) El comportamiento es cómo actúa y reacciona un objeto. Programación Orientada a Objetos 2.Ing. Esto significa que ningún objeto existe de forma aislada. en función a la interacción que efectúa sobre otros objetos o que efectúan otros objetos sobre él. Un servicio es alguna función (comportamiento) que puede efectuar un objeto.3..Algorítmica II. Arturo Rozas Huacho 10 .CONCEPTO DE OBJETOS…(Comportamiento) Todos los objetos interactúan unos con otros. La interacción se efectúa en función a los servicios que ofrece cada objeto. DAI .

Programación Orientada a Objetos 2. Es posible identificar entre todas las propiedades del objeto. una propiedad que lo distingue de todos los demás objetos. Arturo Rozas Huacho 11 . Perú 123 Doc.Algorítmica II. CUENTA DE AHORROS Número Cuenta: 12345 Nombres: Ana Paz Dirección: Av. En consecuencia. el Número de Cuenta identifica unívocamente al objeto La identidad es aquella propiedad o atributo de un objeto que los distingue de todos los demás objetos.CONCEPTO DE OBJETOS…(Identidad) Un objeto en el mundo real es único y se diferencia de los otros objetos incluso de la misma clase. DAI . Identidad: 23742723 No puede haber dos cuentas de ahorros con el mismo Número. esta propiedad es la que identifica el objeto.Ing..3.

Ing. que engloba las características y el comportamiento del objeto. DAI .1.3. Por encapsulamiento debemos entender que un objeto debe ser considerado como “un todo”. como una unidad atómica indivisible. Programación Orientada a Objetos 2. Arturo Rozas Huacho 12 .Algorítmica II.ENCAPSULAMIENTO Objeto = Características + Comportamiento Objeto = Información + Proceso Objeto = Atributos + Métodos Las características y el comportamiento de un objeto es modelado en un compartimiento (cápsula) único e indivisible.

2. Arturo Rozas Huacho 13 .Ing.REPRESENTACION DE UN OBJETO ATRIBUTOS METODOS (SERVICIOS) Solicitar Servicios a otros objetos Responder a Servicios solicitados por otros objetos Vista Interna (Oculta) (Parte Privada) Vista Externa (Visible) (Parte Pública) DAI .Algorítmica II. Programación Orientada a Objetos 2.3.

4. Programación Orientada a Objetos 2. Los objetos se crean o construyen (“tienen vida”) en tiempo de ejecución DAI . Todo objeto pertenece a alguna clase de objetos..Algorítmica II. En la POO una clase es la implementación de un tipo de objetos. caracterizados por propiedades comunes. La POO identifica. Una clase es como un molde que se utilizará para construir objetos.Ing. implementa y utiliza tipos o clases de objetos del dominio del problema. Arturo Rozas Huacho 14 .CLASES La abstracción de clasificación nos permite percibir que los objetos de la realidad están organizados como clases o tipos de objetos. Clase = Implementación (Atributos + Métodos) Comunes a todos los objetos de la clase En la POO lo que realmente se implementa son las clases y no los objetos.

Por ejemplo. Un programa con muchas dependencias tiene fuerte acoplamiento (cualidad no deseada). La POO tiende al diseño e implementación de clases con débil acoplamiento DAI . ACOPLAMIENTO Esta dependencia se conoce como acoplamiento. Arturo Rozas Huacho 15 .. Programación Orientada a Objetos 2.Ing. es decir. Los buenos programas tienen pocas (o ninguna) dependencia.Algorítmica II. si el módulo B depende del módulo A. entonces cualquier cambio en el módulo A implica también una modificación en el módulo B.CLASES…(Conceptos Asociados) En la programación estructurada los módulos se escriben muchas veces en función de otros módulos. débil acoplamiento.4.

Ing.Algorítmica II. Es ver un objeto con una vista interna y una vista externa. y poner a disposición de los otros objetos solamente la lista de servicios que éste ofrece. La vista externa es lo que ven los otros objetos. Programación Orientada a Objetos 2. DAI . con una explicación de “qué” hacen o “para qué” sirven.4.CLASES…(Conceptos Asociados) OCULTAMIENTO DE LA INFORMACION Es el proceso de ocultar todos los detalles internos de un objeto. es la parte visible y accesible del objeto. Arturo Rozas Huacho 16 . También es parte de la vista interna la implementación de los métodos. es decir el “cómo” están hechos.. La vista interna no es visible ni accesible para otros objetos. esconde la estructura de los atributos y protege el acceso directo a ellos desde fuera del objeto. está constituido por la lista de métodos del objeto.

Es el conjunto de servicios que ofrece el objeto.Ing. mientras no se cambie la interfaz del objeto A los otros objetos que interactúan con éste no se verán afectados. Arturo Rozas Huacho 17 .Algorítmica II.CLASES…(Conceptos Asociados) INTERFACES La interfaz es la vista externa del objeto. DAI .4. Se puede modificar la implementación interna de un objeto A. Programación Orientada a Objetos 2.. Los otros objetos o el resto del programa pueden utilizar el objeto sólo mediante los servicios definidos en la interfaz.

Ing. Programación Orientada a Objetos 2..Algorítmica II. Arturo Rozas Huacho 18 . public class Nombre_de_la_clase { // ============ // ============ // ----------------// ----------------// ----------------} ATRIBUTOS ============= METODOS Constructores Propiedades Otros Métodos ============= -------------------------------------------------------------- Parte Privada Parte Pública DAI .IMPLEMENTACION DE CLASES Esquema general de implementación de clases en C Sharp. que se utilizará como patrón.5.