sesion2

55
PROGRAMACIÓN ORIETADA A OBJETOS

Upload: vljc

Post on 20-Nov-2015

213 views

Category:

Documents


0 download

DESCRIPTION

s2

TRANSCRIPT

  • PROGRAMACIN ORIETADA A OBJETOS

  • *IntroduccinParadigma: Ejemplo ilustrativo, enunciado modeloProgramacin imperativaProgramacin funcionalProgramacin lgica

    Nuevo Paradigma:Programacin Orientada a Objetos (POO)

  • *Programacin Procedimental

  • *Programacin Orientada a Objetos

  • *Facilita la creacin de software de calidad pues sus caractersticas potencian:La mantencinLa extensin y La reutilizacin del software generado bajo este paradigma

    La POO se basa en la idea natural de un mundo lleno de objetos y que la resolucin de problemas se realiza mediante el modelo de objetos

    POO

  • *La visin de Objetos:

    MesasSillasComputadoresAutosCuentas bancariasPartidos de ftbolPerros, etc

    POO

  • *Los objetos se pueden Organizar segn su necesidad

    Mamferos: Perro, CiervoTelfonos: Fijo, CelularDeportes: Ftbol, TenisVehculos: Automvil, Camin

    POO

  • *METODOLOGA

  • *La base de esta tecnologa es:

    Modelamiento

  • *El modelo define una perspectiva abstracta del problemaLos datos que son afectadosLas operaciones que se aplican sobre los datos

    Abstraccin

  • *EjemploPara la administracin docente, las entidades que participan son:

  • *POOIdentificar los objetos importantes

    Organizar los objetos en jerarquas

    Otorgar, a los objetos, atributos relevantes que describan sus caractersticas

    Proveer, a cada objeto, las funciones inherentes a su comportamiento

  • *Conceptos de la POOLa POO trata de aproximarse al modo de actuar del hombre y no al de la mquina

    Conceptos fundamentales que sustentan la POO:ClaseObjetoInstanciaAtributosMtodos

  • *ClaseUna clase es como un tipo de dato creado por el usuario, que posee dos categoras de miembros:Atributos (Datos) EstadoMtodos (Algoritmos) Comportamiento

  • *ClaseEn general, es posible crear una clase a partir de cualquier objeto que est a nuestro alrededor. Por ejemplo:PersonaAutomvilMascota

  • *Instancias-ObjetosUna Instancia es una ocurrencia de la clase

    Al momento de crear un objeto se produce la instanciacin

    Un Objeto es una instancia de una Clase especfica

  • *Instancias-ObjetosEJEMPLO:Suponer que existe la clase Vehculo

    El auto patente WF-4631 es una instancia de la clase Vehculo, o sea, un objeto de esa clase La camioneta patente ZT-9283 es otra instancia de la clase Vehculo

  • *AtributosSon los datos que caracterizan a los objetos de una clase y determinan el estado de un objeto

    MarcaAoColorPatente, etc.

  • *MtodosRepresentan todas aquellas acciones que se pueden realizar sobre un objeto de cierta clase

    En la implementacin, estos mtodos son segmentos de cdigo en la forma de funciones

    La clase Vehculo puede incluir los mtodos:

    EncenderAcelerarVirarFrenar

  • *Principios de la POOPropiedades, que lo llevan a ser un estilo de desarrollo que permite crear cdigo re-utilizable

    EncapsulamientoHerenciaPolimorfismo

  • *ENCAPSULAMIENTOAbstraccin de Datos

  • *Encapsulamiento

    Proceso por el que se ocultan:Las estructuras de datosLos detalles de la implementacin

    Permite considerar a los objetos como "cajas negras", evitando que otros objetos accedan a detalles que NO LES INTERESA

    Una vez creada la clase, las funciones usuarias no requieren conocer los detalles de su implementacin

  • *EncapsulamientoToda clase tiene un conjunto de atributos y mtodos asociados a ella

    Todos ellos estn encapsulados o contenidos dentro de la misma clase, de manera que son miembros de dicha clase

    Esos mtodos y atributos pueden ser utilizados por otras clases slo si la clase que los encapsula les brinda los permisos necesarios para ello

  • *EncapsulamientoAtributos de una Cuenta Corriente:NmeroSaldo

    Mtodos:Depositar GirarConocer el saldo

    Cmo se almacenan estos datos?

  • *HERENCIAOrganizacin jerrquica

  • *HerenciaPermite reutilizar cdigo creando nuevas clases a partir de las existentes (construidas y depuradas)

    Compromete una relacin de jerarqua (es-un)

    Una nueva clase se generar agregando atributos y/o cdigo a una clase existente

    Una clase (derivada) puede heredar de otra clase (base):

    Atributos y Mtodos

  • *Herencia

    685.bin

  • *POLIMORFISMO

  • *PolimorfismoCapacidad que permite a dos clases diferentes responder de forma distinta a un mismo mensaje

    Esto significa que dos clases que tengan un mtodo con el mismo nombre y que respondan al mismo tipo de mensaje (es decir, que reciban los mismo parmetros), ejecutarn acciones distintas

  • *Ejemplo 1:

    Al presionar el acelerador esperamos que aumente la velocidad del auto, independiente de si se tiene un:

    Motor con carburadorMotor con inyeccin electrnicaPolimorfismo

  • *Ejemplo 2: Si se tienen las clases Entero y Char, ambas respondern de manera distinta al mensaje "Sucesor"Polimorfismo

  • OBJETOS

  • *ObjetosEn la POO se dice que un objeto: "integra datos y algoritmos"

    En la programacin estructurada, variables y funciones estn separadas

  • *ObjetosCada objeto es responsable de inicializarse y destruirse en forma correcta

    Un objeto consta de:Tiempo de vidaEstadoComportamiento

  • *Tiempo de vida de un objetoLa duracin de un objeto en un programa siempre est limitada en el tiempo

    La mayora de los objetos slo existen durante una parte de la ejecucin del programa

    Los objetos son creados mediante un mecanismo denominado instanciacin

    Los objetos dejan de existir cuando son destruidos

  • *Queda definido por sus atributos

    Con l se definen las propiedades del objeto, y el estado en que se encuentra en un momento determinado de su existencia

    Estado de un objeto

  • *Queda definido por los mtodos

    Los prototipos de los mtodos definidos en la interfaz de una clase permiten a otros objetos, que forman parte de la aplicacin, interactuar con los objetos de esa clase

    Comportamiento de un objeto

  • CLASES

  • *ClasesLas clases son abstracciones que representan a un conjunto de objetos con un:

    Comportamiento e Interfaz comn

    Es la implementacin de un tipo de dato (considerando los objetos como instancias de las clases)

  • *ClasesPermiten definir y representar colecciones de objetos

    Proveen un modelo para la creacin de objetos

    Los elementos que componen la clase son

  • *Ejemplo de instancia de objetosClase: Cuenta corriente Atributos:

    Nmero Nombre Saldo Mtodos:

    Depositar Girar Consultar saldo

  • *Ejemplo de instancia de objetosClase: Cuenta corriente

    Instanciacin: Cuenta Corriente A, B

  • MENSAJES

  • *MensajeMecanismo por el cual se solicita una accin sobre el objeto

    Un programa en ejecucin es una coleccin de objetos que se crean, interactan y se detruyen

    La interaccin se basa en mensajes que son enviados de un objeto a otro, de modo que el emisor le pide al receptor la ejecucin de un mtodo

  • *MensajesUn objeto invoca un mtodo como una reaccin al recibir un mensaje

    La interpretacin del mensaje depender del receptor

  • MTODOS

  • *MtodosUn mtodo es una funcin miembro de una clase

    Establece el comportamiento del objeto

    Opera directamente sobre el objeto que lo invoc

    Recibe, como parmetro implcito, el objeto que lo invoc

  • *MtodosSi el mtodo requiere otros objetos de la clase, stos debern ser pasados como parmetros explcitos y el mtodo slo podr acceder en forma indirecta a estos objetos

    Ejemplos:

    DepositarGirarConsultar

  • RESUMEN

  • *Mensajes y mtodos Un objeto (agente emisor) enva un mensaje a otro objeto (agente receptor)

    El mensaje tiene codificada la peticin de una accin

    El mensaje incluye la informacin (argumentos) necesaria para satisfacer la peticin

    Si el receptor acepta el mensaje, acepta la responsabilidad de ejecutar la accin indicada

    En respuesta a un mensaje, el receptor ejecuta un mtodo para satisfacer la peticin

  • *Clases y ejemplares Todos los objetos son ejemplares de una clase

    La clase del receptor determina el mtodo que se activa como respuesta a un mensaje

    Todos los objetos de una clase usan el mismo mtodo en respuesta a mensajes similares

  • *Clases y mtodos Los objetos son ejemplos de TADs

    Un TAD tiene dos caras: una exterior, la que ve el usuario, y una interior, la que slo ve el programador

    El usuario ve nada ms que un conjunto de operaciones que definen el comportamiento de la abstraccin

    El programador ve las variables de datos que se usan para mantener el estado interno del objeto

    Un ejemplar es un representante de una clase

  • *Clases y mtodos Una variable de ejemplar es una variable interna mantenida por un ejemplar

    Cada ejemplar tiene su propia coleccin de variables de ejemplar

    Las variables de ejemplar slo son modificables por los mtodos definidos en la clase

    Un objeto es la combinacin de estado y comportamiento

  • *Clases y mtodos El estado lo determinan las variables de ejemplar

    El comportamiento lo determinan los mtodos

    Desde el exterior, los clientes slo pueden ver el comportamiento de los objetos

    Desde el interior, los mtodos proporcionan el comportamiento apropiado mediante las modificaciones del estado

  • *Clases y mtodos La interfaz describe la forma en que un objeto se conecta con el mundo

    La implementacin describe cmo se logra la responsabilidad prometida en la interfaz

    Una clase se puede concebir como un registro con dos variedades de campos: datos y procedimientos

    Los datos constituyen las variables de ejemplar

    Los procedimientos constituyen los mtodos