Es un método de implementación en el que los programas se organizan como colecciones cooperativas...

22
PROGRAMACIÓN ORIENTADA A OBJETOS

Transcript of Es un método de implementación en el que los programas se organizan como colecciones cooperativas...

Page 1: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

PROGRAMACIÓN ORIENTADA A OBJETOS

Page 2: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

1. PROGRAMACIÓN ORIENTADA A OBJETOS Es un método de implementación en el

que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una instancia de alguna clase, y cuyas clases son, todas ellas, miembros de una jerarquía de clases unidas mediante relaciones de herencia.

Page 3: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Características Esta basado en Objetos, se modela y se

piensa en los Objetos y lo que estos pueden hacer, o lo que se puede hacer con estos.

Se pueden construir fácilmente nuevas aplicaciones sin mucho esfuerzo

La Herencia puede ser una herramienta muy útil en POO, y al mismo tiempo puede ser FATAL.

Page 4: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

P.O.O. - Lenguajes Ada Modula Smalltalk (Alan Kay) Java (Sun Microsystems) Eiffel C++ Object Pascal C#

Page 5: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

1.1 Mecanismos básicos La tecnología

orientada a objetos se apoya en los fundamentos de la ingeniería, cuyos elementos reciben el nombre global de modelo de objetos

El modelo de objetos abarca principios de: Abstracción Encapsulación Modularidad Jerarquía Tipos Concurrencia y Persistencia

Page 6: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Jenkins y Glasgow observan que la mayoría de los programadores trabajan en un lenguaje y utilizan un solo estilo de programación. Sugieren que hay cinco tipos principales de estilos de programación: Orientada a procedimientos (Algoritmos) Orientada a objetos (Clases y objetos) Orientados a lógica (Objetivos, a menudo

expresados como calculo de predicados) Orientados a reglas (Reglas si-entonces [if-

then]) Orientados a restricciones (Relaciones

invariantes)

Page 7: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Modelo de Objetos Hay cuatro

elementos fundamentales en este modelo:AbstracciónEncapsulamientoModularidad Jerarquía

Page 8: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Existen otros tres elementos secundarios: Tipos (tipificación)ConcurrenciaPersistencia

Page 9: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

1.2 Objetos Un objeto es:

Una cosa tangible y/o visible Algo que puede comprenderse

intelectualmente Algo a lo que se dirige un pensamiento o

acción Es una abstracción de una entidad del

mundo real. Toda interacción con el mundo externo es

por medio de una interface.

Page 10: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Definición de Objeto Un objeto tiene estado,

comportamiento e identidad; la estructura y comportamiento de objetos similares están definidos en su clase común; los términos instancia y objeto son intercambiables

Page 11: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Estado El estado de un objeto se compone de

todas las propiedades de un objeto (estáticas)

Y los valores asociados a ellas (dinámicos).

Estos valores pueden ser: Simples O denotar a otro objeto.

Estado = Atributos = Datos miembro

Page 12: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

1.3 Mensajes y métodos El mensaje es la acción que realiza un objeto sobre otro,

la petición de servicio. El método es la respuesta al mensaje, la forma de

proporcionar el servicio. Son los procesos (funciones o procedimientos) que

permiten trabajar con los datos de los objetos

Existe una clasificación de los métodos según su objetivo: Constructores Destructores Iteradores Selectores Modificadores Consultivos

Page 13: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Constructores Una operación que crea un objeto y/o

inicializa su estado. El constructor es un proceso que se encarga

de: Reservar espacio de memoria para los datos del

objeto Inicializar los atributos del objeto (darle un

estado inicial) Tipos de Constructor:

Oficio, Copia, con Parámetros

Page 14: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

class Rectangulo{int x;int y;int ancho;int alto;

Rectangulo(int x1, int y1, int w, int h){x=x1;y=y1;ancho=w;alto=h;

}}

Page 15: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Constructor de oficio Inicializa los

atributos con valores definidos por el implementador de la clase.

Ej.Fecha::Fecha(){ d=1; m=1;

a=2001;}

Page 16: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Constructor de copia Inicializa los

atributos del objeto con los datos provenientes de otro objeto de la misma clase.

Ej. Fecha::Fecha(const Fecha &f2){ d=f2.d; m=f2.m; a=f2.a;}

Page 17: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Constructor con parámetros Inicializa el objeto

con datos provenientes de los parámetros.

Ej.Fecha::Fecha(byte

dd, byte mm,Word aa)

{ SetFecha(dd, mm, aa);

}

Page 18: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Destructor Una operación que libera el estado de un

objeto y/o destruye el propio objeto Sus principales cometidos son:

Liberar los recursos computacionales que el objeto de dicha clase haya adquirido en su tiempo de ejecución al expirar éste.

Quitar los vínculos que pudiesen tener otros recursos u objetos con éste.

Los destructores son invocados automáticamente al alcanzar el flujo del programa el fin del ámbito en el que está declarado el objeto.

Page 19: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Modificador Permite cambiar el estado de un objeto,

modificando los atributos del mismo.Ej. Void Fecha::SetDia(byte dd){ SetFecha(dd, m, a);}

Page 20: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Selector Permite devolver el valor de los

atributos sin alterar su estado.Ej.byte Fecha::GetDia(){ return d;}

Page 21: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Iteradores Una operación que permite acceder a todas las

partes de un objeto en algún orden perfectamente establecido.

Es un objeto que permite a un programador recorrer los elementos de una colección, sin tener en cuenta su implementación específica.

Tiene dos operaciones principales: referenciar un elemento particular en una colección (llamado elemento de acceso), y modificarse a sí mismo para que apunte al siguiente elemento.

Page 22: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una.

Identidad Es la propiedad de un objeto que lo distingue de

todos los demás objetos No hay que confundir el nombre de un objeto con el

objeto mismo.Ej. perro != &perro;

Puede haber varias variables que se refieran al mismo objeto, pero no varios objetos con la misma identidad.Ej. perro * raza = &razaperro;

Puede haber objetos con el mismo estado pero identidades diferentes.Ej. perro_ladador = perro;

Conclusión: hay dos tipos de igualdad: de estado y de identidad.