POO Diapositivas

Click here to load reader

  • date post

    03-Jan-2016
  • Category

    Documents

  • view

    35
  • download

    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