POO Diapositivas
date post
03-Jan-2016Category
Documents
view
35download
0
Embed Size (px)
Transcript of POO Diapositivas
03/24/09
Programacin orientada a objetosProgramacin orientada a objetos
David PineloMarzo Abril de 2009
2ndicendiceIntroduccin. Motivacin de la POODefiniciones. Tipos de datos abstractos
Clases y objetosCaractersticas de la POO
AbstraccinEncapsulamientoPrincipio de ocultacinPolimorfismoHerenciaRecoleccin de basura
Lenguajes orientados a objetosFases en el diseo de software de calidad
3POO. Calidad del softwarePOO. Calidad del softwareIngeniera del software: Disciplina o rea de la informtica que ofrece mtodos y tcnicas para desarrollar y mantener software de calidad. Calidad implica dos tipos de factores
Externos (detectados por los usuarios)VelocidadFacilidad de uso
Internos (detectables en el cdigo fuente). DestacanLegibilidadModularidadReutilizacinRobustez
4POO. DefinicinPOO. DefinicinDebera hablarse con propiedad de Diseo orientado a objetos (DOO)La construccin de software orientado a objetos es el mtodo de desarrollo de software que basa la arquitectura de cualquier sistema en mdulos deducidos a partir de los tipos de objetos que manipula (en lugar de basarse en la funcin o funciones que el sistema est destinado a asegurar)A diferencia de otros mtodos, el DOO da como resultado un diseo que interconexiona los objetos de datos (elementos de datos) y las operaciones de procesamiento, de forma tal que encapsula la informacin y el procesamiento.Este encapsulamiento es el paradigma fundamental de la orientacin por objetos.
5POO. Definicin (II)POO. Definicin (II)DOO provee objetos como el principal medio para abstraer y estructurar un sistema.Un objeto puede modelar entidades del mundo real, puede capturar abstracciones de fenmenos complejos, puede representar artefactos de software (pilas, grficos, etc).El contexto del problema se ve como objetos que interactan entre ellos
6POO. Tipos de Datos Abstractos (TDA)POO. Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos:
Es una coleccin de valores + operacionesSe definen mediante una especificacin, que es independiente de cualquier representacin (abstraccin). Dar lugar a las API de programacin.El acceso a los valores del tipo est limitado al uso de las operaciones (interfaz con el usuario limitada)Establecida la interfaz, el programador elige la representacin adecuada (implementacin)Los usuarios del TDA slo conocen su nombre y la especificacin de las operacionesCambios en la representacin no afectarn al resto de programas
7POO. Diseo orientado a objetosPOO. Diseo orientado a objetosEn POO un programa es un grupo de objetos que interactuan entre ellosCada objeto tiene un rol en la solucin del problemaCada objeto provee un conjunto de servicios (o mtodos)Los servicios de un objeto son usados por otros objetosLos objetos tienen un estado. Parte de ese estado ser conocido por los dems. Otra parte no.La naturaleza nica del diseo orientado por objetos se debe a su habilidad para construir basndose en tres conceptos importantes del diseo del software:
AbstraccinOcultamiento de la informacinModularidad
8POO. ObjetosPOO. ObjetosEl trmino "orientacin por objeto" significa que organizaremos el software como una coleccin de objetos discretos que incorporan tanto estructuras de datos como procedimientos. (Un objeto es TDA)Esto contrasta con la programacin convencional, en la cual las estructura de datos y el comportamiento estn solo aproximadamente conectadosEl desarrollo orientado por objetos es una nueva forma de pensar acerca del software basado sobre abstracciones que existen en el mundo realEn este contexto, el desarrollo es referido a la primera parte del ciclo de vida del software: anlisis, diseo e implantacin
9POO. Objetos (II)POO. Objetos (II) Qu es un Objeto ?
Un objeto es una entidad fsica o abstracta que tiene un comportamiento antes ciertos estmulos, tanto externos como de otros objetos especficos que se encuentran dentro del sistema
La forma en que los objetos se comunican entre ellos es a travs de mensajes:Un mensaje encapsula la peticin de un servicioEl receptor del mensaje presta el servicio y devuelve una respuesta al que solicit el servicioCmo encontrar los objetos?
Una descripcin adecuada de los objetos debe:Ser precisa y no ambiguaSer completaNo debe especificar ms de lo necesario
10
POO. Objetos (III)POO. Objetos (III) Qu se puede considerar como objeto ?
PersonaEquipo HardwareMaterialesInformacinSoftwareProcesosProcedimientos Relaciones o asociaciones entre objetosINCLUSO Entes matemticos o lgicos
En POO un objeto es una abstraccin de la realidad para modelar un problema con solucin va software.
11
POO. Objetos (IV)POO. Objetos (IV)Discusin. Objetos aqu presentes.
12
POO. Objetos (V)POO. Objetos (V)Un objeto empaqueta datos (una representacin concreta) y procedimientos que operan sobre los datos.
El envo de mensajes es la nica forma para que un objeto realice una operacin.Las operaciones son la nica forma para cambiar el estado de los datos. Cuando esto se cumple, se dice que el estado interno del objeto (el valor de sus datos) est encapsulado; ste no puede ser manipulado directamente desde el exterior y su representacin concreta es invisible.
13
POO. ClasesPOO. ClasesClasificacin:
El proceso de clasificacin es el enfoque central de la orientacin por objeto y concierne a la agrupacin de objetos con propiedades (estructuras de datos o atributos) y comportamiento (operaciones) similares dentro de una clase
Una clase es la abstraccin que describe propiedades importantes para una aplicacinLos objetos que pertenecen a una clase se describen colectivamente por la definicin de una clase. En lugar de describir los objetos individuales la orientacin por objeto concentra en un patrn tanto el estado como el comportamiento que es comn a todos los objetos de la clase
Esta clase de estructura que abarca tantos propiedades como comportamiento es la unidad natural de la abstraccin en los sistemas de orientacin por objeto y puede ser utilizarse para modelar tanto entidades objetos como relaciones entre los objetos.
14
POO. Objetos y clasesPOO. Objetos y clasesLa distincin entre una clase y sus instancias (objetos) es similar a la distincin entre una definicin de tipo y la declaracin de una variable en un lenguaje de programacin convencional. Sin embargo, la mayora de los sistemas orientados por objeto crean dinmicamente instancias (objetos) por envo de mensajes "Nuevo" y "Crear" una clase.Clase: Tipo de datos definido por el usuarioObjeto: Es un dato del tipo definido por su clase, es decir, es una instancia especfica de su clase
15
POO. Objetos y clasesPOO. Objetos y clases
La Pedregosa
Av. Los proceres
Instancia de Compaia
Instancia de Persona
Piscina, Sauna, Golf
Instancia Compaa
Nombre Oficina_general
Telfono
Turisol
Mrida
22454
Instancia Persona
Direccin
Pedro perez
Calle 22 entre Av. 2 y 3
Instancia de Hotel
Direccin
Nombre
Dueo
Gerente
Facilidades
Nombre
Fig. 5 Ejemplo de la clase Hotel
16
POO. NotacinPOO. NotacinUna clase se representa por una caja la cual puede tener 3 regiones.
Primera: nombre de la clase.Segunda: contiene la lista de atributos. cada nombre de atributo puede estar seguido por detalles opcionales tales como tipo de atributo y valores por defectos.Tercera: contiene los nombres de las operaciones. Cada nombre de operacin puede ser seguido por detalles opcionales tales como listas de argumentos y tipos de resultados.
17
POO. Trabajando con clases y objetosPOO. Trabajando con clases y objetosFases de la vida de un objeto
Creacin de un objetoPrimero debe declararseLuego debe ser instanciado
Utilizacin del objeto instanciadoDestruccin del objeto instanciado
Creacin del objeto:Constructor
Objeto instanciado.Utilizacin
Destruccin del Objeto:Destructor
18
POO. Dentro de una clasePOO. Dentro de una claseCampos de datos dentro de una clase: variables miembros o propiedades de la clase.Operaciones con los datos de una clase: funciones miembros o mtodos de la clase.Los miembros de una clase (propiedades y mtodos) pueden ser:
Pblicos: se puede acceder a ellos desde fuera de la clasePrivados: slo se puede acceder a ellos desde dentro de la clase
Para acceder a propiedades privadas de la clase se definen mtodos de acceso.Un miembro puede ser esttico, si pertenece a la clase en s y no a los objetos de la clase.
19
POO. Abstraccin y encapsulamientoPOO. Abstraccin y encapsulamientoTres caractersticas fundamentales de la POO
Abstraccin: Denota las caractersticas esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cmo se implementan estas caractersticas. Los procesos, las funciones o los mtodos pueden tambin ser abstrados y cuando lo estn, una variedad de tcnicas son requeridas para ampliar una abstraccin.Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin. Esto permite aumentar la cohesin de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultacin, principalmente porque se suelen emplear conjuntamente.
20
POO. Principio de ocultacinPOO. Principio de ocultacinPrincipio de ocultacin: Cada objeto est aislado del exterior, es un mdulo natural, y cada ti