La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PROGRAMACIÓN ORIENTADA A OBJETOS

Presentaciones similares


Presentación del tema: "PROGRAMACIÓN ORIENTADA A OBJETOS"— Transcripción de la presentación:

1 PROGRAMACIÓN ORIENTADA A OBJETOS

2 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.

3 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.

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

5 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

6 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)

7 Modelo de Objetos Hay cuatro elementos fundamentales en este modelo:
Abstracción Encapsulamiento Modularidad Jerarquía

8 Existen otros tres elementos secundarios:
Tipos (tipificación) Concurrencia Persistencia

9 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.

10 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

11 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

12 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

13 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

14 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; }

15 Constructor de oficio Inicializa los atributos con valores definidos por el implementador de la clase. Ej. Fecha::Fecha() { d=1; m=1; a=2001; }

16 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; }

17 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); }

18 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.

19 Modificador Permite cambiar el estado de un objeto, modificando los atributos del mismo. Ej. Void Fecha::SetDia(byte dd) { SetFecha(dd, m, a); }

20 Selector Permite devolver el valor de los atributos sin alterar su estado. Ej. byte Fecha::GetDia() { return d; }

21 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.

22 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.


Descargar ppt "PROGRAMACIÓN ORIENTADA A OBJETOS"

Presentaciones similares


Anuncios Google