Вы находитесь на странице: 1из 18

Algortmica II

CAPTULO II
PROGRAMACION ORIENTADA A OBJETOS (POO)

DAI - Ing. Arturo Rozas Huacho

Algortmica II. Programacin Orientada a Objetos

2.1.- MODELO DE OBJETOS


Es una forma de representar la realidad a imagen y semejanza, considerando que el mundo real que tratamos est constituido por cosas, entidades u objetos que interactan entre s. Abarca los principios de abstraccin, encapsulacin, modularidad, jerarqua, tipos, concurrencia y persistencia. Tangibles: libros, personas, lmparas, etc. Intangibles: cuentas corrientes, reservaciones areas, etc.
DAI - Ing. Arturo Rozas Huacho 2

Algortmica II. Programacin Orientada a Objetos

2.2.- MECANISMOS DE ABSTRACCION


los mecanismos de abstraccin permitan entender, clasificar y modelar la realidad. Dentro de estos mecanismos tenemos: Abstraccin de clasificacin

Abstraccin de generalizacin especializacin


Abstraccin de agregacin/composicin

DAI - Ing. Arturo Rozas Huacho

Algortmica II. Programacin Orientada a Objetos

2.2.1.- Abstraccin de Clasificacin


La abstraccin de clasificacin nos permite percibir que los objetos de la realidad se pueden agrupar en clases o tipos de objetos, caracterizados por propiedades y comportamiento comunes. Clase de Objetos Empleados Clase de Objetos Libros Clase de Objetos Documentos

El mundo real esta formado por objetos. Todo objeto pertenece por lo menos a una clase de objetos.
DAI - Ing. Arturo Rozas Huacho 4

Algortmica II. Programacin Orientada a Objetos

2.2.2.- Abstraccin de Generalizacin-Especializacin


Los objetos de clase Avin y de la clase Helicptero pertenecen a una clase ms genrica Vehculos de transporte Areo. Esta clase conjuntamente con las clases Vehculos de Transporte Terrestre y Vehculos de Transporte Martimo pertenecen an a otra clase ms genrica como es la clase Vehculo de Transporte.
Vehculo de Transporte Especializacin Generalizacin

Vehculo de transporte areo

Vehculo de Transporte martimo

Avin

Helicptero

Los Objetos del mundo real se organizan en clases y subclases, con una estructura jerrquica.
DAI - Ing. Arturo Rozas Huacho 5

Algortmica II. Programacin Orientada a Objetos

2.2.3.- Abstraccin de Agregacin


Si se hace un anlisis ms minucioso de los objetos del mundo real, se puede constatar que muchos de estos objetos estn construidos a partir de otros objetos. As, un objeto de la clase COMPUTADOR esta formado por objetos de las clases CPU, MONITOR, TECLADO, MOUSE, IMPRESORA etc.

Objeto Computador

Objeto Impresora

Objeto CPU

Objeto Monitor

Objeto Teclado

La abstraccin de agregacin es la representacin del todo y sus partes.


DAI - Ing. Arturo Rozas Huacho 6

Algortmica II. Programacin Orientada a Objetos

2.3.- CONCEPTO DE OBJETO


Definicin Informal
Un objeto es una entidad o cosa que tiene ciertas propiedades (informacin) y exhibe algn comportamiento bien definido. Objeto = Informacin + Comportamiento Desde la perspectiva de la cognicin humana, un objeto es cualquiera de las siguientes cosas: Una cosa tangible y/o visible. Algo que puede comprenderse intelectualmente. Algo hacia lo que se dirige un pensamiento o accin.

Un objeto modela alguna parte de la realidad y es, por tanto, algo que existe en el tiempo y el espacio.
DAI - Ing. Arturo Rozas Huacho 7

Algortmica II. Programacin Orientada a Objetos

2.3.- CONCEPTO DE OBJETOS


Definicin Formal (Grady Booch)
Un objeto es una entidad que tiene un estado, un comportamiento y una identidad.
CUENTA DE AHORROS
Nmero Cuenta: 12345 Nombres: Ana Paz Direccin: Av. Per 123 Doc. Identidad: 23742723 Registrar Depsitos() Registrar Retiros() Calcular Intereses()

Tipo de Objeto

Los valores de las caractersticas constituyen el estado de un objeto

Caractersticas El Nmero de Cuenta identifica al objeto Operaciones Las operaciones constituyen el comportamiento del objeto

DAI - Ing. Arturo Rozas Huacho

Algortmica II. Programacin Orientada a Objetos

2.3.- CONCEPTO DE OBJETOS(Estado)


Todos los objetos tienen caractersticas, propiedades o atributos. Por ejemplo, el objeto Cuenta de Ahorro tiene como atributos: Nmero Cuenta, Nombres, Direccin, Documento de Identidad. Los atributos normalmente son estticos, no cambian con el tiempo; mientras que los valores asociados a estos atributos son dinmicos, pueden cambiar con el tiempo.
El estado de un objeto est dado por los valores actuales de cada una de sus propiedades o atributos.
DAI - Ing. Arturo Rozas Huacho 9

Algortmica II. Programacin Orientada a Objetos

2.3.- CONCEPTO DE OBJETOS(Comportamiento)


Todos los objetos interactan unos con otros. Esto significa que ningn objeto existe de forma aislada. La interaccin se efecta en funcin a los servicios que ofrece cada objeto. Un servicio es alguna funcin (comportamiento) que puede efectuar un objeto.

Objeto Cuenta Ahorros (Servicios)

Interaccin entre Objetos

Objeto Cajero (Servicios)

El comportamiento es cmo acta y reacciona un objeto, en funcin a la interaccin que efecta sobre otros objetos o que efectan otros objetos sobre l.
DAI - Ing. Arturo Rozas Huacho 10

Algortmica II. Programacin Orientada a Objetos

2.3.- CONCEPTO DE OBJETOS(Identidad)


Un objeto en el mundo real es nico y se diferencia de los otros objetos incluso de la misma clase. Es posible identificar entre todas las propiedades del objeto, una propiedad que lo distingue de todos los dems objetos, esta propiedad es la que identifica el objeto.

CUENTA DE AHORROS

Nmero Cuenta: 12345 Nombres: Ana Paz Direccin: Av. Per 123 Doc. Identidad: 23742723

No puede haber dos cuentas de ahorros con el mismo Nmero. En consecuencia, el Nmero de Cuenta identifica unvocamente al objeto

La identidad es aquella propiedad o atributo de un objeto que los distingue de todos los dems objetos.
DAI - Ing. Arturo Rozas Huacho 11

Algortmica II. Programacin Orientada a Objetos

2.3.1- ENCAPSULAMIENTO
Objeto = Caractersticas + Comportamiento Objeto = Informacin + Proceso Objeto = Atributos + Mtodos Las caractersticas y el comportamiento de un objeto es modelado en un compartimiento (cpsula) nico e indivisible.
Por encapsulamiento debemos entender que un objeto debe ser considerado como un todo, como una unidad atmica indivisible, que engloba las caractersticas y el comportamiento del objeto.
DAI - Ing. Arturo Rozas Huacho 12

Algortmica II. Programacin Orientada a Objetos

2.3.2- 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 Pblica)


DAI - Ing. Arturo Rozas Huacho 13

Algortmica II. Programacin Orientada a Objetos

2.4.- CLASES
La abstraccin de clasificacin nos permite percibir que los objetos de la realidad estn organizados como clases o tipos de objetos, caracterizados por propiedades comunes. Todo objeto pertenece a alguna clase de objetos. En la POO una clase es la implementacin de un tipo de objetos. La POO identifica, implementa y utiliza tipos o clases de objetos del dominio del problema. Una clase es como un molde que se utilizar para construir objetos.

Clase = Implementacin (Atributos + Mtodos) Comunes a todos los objetos de la clase En la POO lo que realmente se implementa son las clases y no los objetos. Los objetos se crean o construyen (tienen vida) en tiempo de ejecucin
DAI - Ing. Arturo Rozas Huacho 14

Algortmica II. Programacin Orientada a Objetos

2.4.- CLASES(Conceptos Asociados)


En la programacin estructurada los mdulos se escriben muchas veces en funcin de otros mdulos. Por ejemplo, si el mdulo B depende del mdulo A, entonces cualquier cambio en el mdulo A implica tambin una modificacin en el mdulo B.

ACOPLAMIENTO

Esta dependencia se conoce como acoplamiento. Un programa con muchas dependencias tiene fuerte acoplamiento (cualidad no deseada). Los buenos programas tienen pocas (o ninguna) dependencia, es decir, dbil acoplamiento.
La POO tiende al diseo e implementacin de clases con dbil acoplamiento
DAI - Ing. Arturo Rozas Huacho 15

Algortmica II. Programacin Orientada a Objetos

2.4.- CLASES(Conceptos Asociados)


OCULTAMIENTO DE LA INFORMACION
Es el proceso de ocultar todos los detalles internos de un objeto, y poner a disposicin de los otros objetos solamente la lista de servicios que ste ofrece.
Es ver un objeto con una vista interna y una vista externa. 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. Tambin es parte de la vista interna la implementacin de los mtodos, es decir el cmo estn hechos. La vista externa es lo que ven los otros objetos, es la parte visible y accesible del objeto, est constituido por la lista de mtodos del objeto, con una explicacin de qu hacen o para qu sirven.
DAI - Ing. Arturo Rozas Huacho 16

Algortmica II. Programacin Orientada a Objetos

2.4.- CLASES(Conceptos Asociados)


INTERFACES
La interfaz es la vista externa del objeto. Es el conjunto de servicios que ofrece el objeto. Los otros objetos o el resto del programa pueden utilizar el objeto slo mediante los servicios definidos en la interfaz.
Se puede modificar la implementacin interna de un objeto A, mientras no se cambie la interfaz del objeto A los otros objetos que interactan con ste no se vern afectados.

DAI - Ing. Arturo Rozas Huacho

17

Algortmica II. Programacin Orientada a Objetos

2.5.- IMPLEMENTACION DE CLASES


Esquema general de implementacin de clases en C Sharp, que se utilizar como patrn.
public class Nombre_de_la_clase {

// ============ // ============ // ----------------// ----------------// ----------------}

ATRIBUTOS ============= METODOS Constructores Propiedades Otros Mtodos ============= --------------------------------------------------------------

Parte Privada

Parte Pblica
DAI - Ing. Arturo Rozas Huacho 18