8/7/2019 01 Introduccin a POO
1/29
1
Tecnologa de la Programacin IIng. Zoraida Vidal Melgarejo, Mg.
Introduccin a la ProgramacinOrientada a Objetos
8/7/2019 01 Introduccin a POO
2/29
Conceptos de Orientacin a Objetos La orientacin a objetos es una manera natural de pensar acerca
del mundo real y de escribir programas de cmputo.
En cualquier parte del mundo real puede ver objetos : gente,
animales, plantas, autos, aviones, edificios, computadoras, etc.
Los humanos pensamos en trminos de objetos. Poseemos la
habilidad de la abstraccin , que nos permite ver imgenesdigitales de personas, aviones, rboles y montaas como objetos,en vez de verlos como puntos de colores individuales.
2
8/7/2019 01 Introduccin a POO
3/29
Conceptos de Orientacin a Objetos An cuando son diferentes tipos de objetos, todos ellos tienen
atributos como tamao, forma, color y peso; y todos exhiben comportamientos . Por ejemplo: una pelota rueda, rebota y se inflay desinfla; un beb llora, duerme, gatea, camina y parpadea.
Los humanos aprenden acerca de los objetos estudiando susatributos y observando sus comportamientos. Distintos objetos
pueden tener atributos similares y pueden exhibircomportamientos similares.
3
8/7/2019 01 Introduccin a POO
4/29
Anlisis y Diseo Orientado a Objetos Qu hara usted si se le pidiera crear un sistema de software para
controlar las mquinas de cajero automtico para un importantebanco?
Para crear las mejores soluciones, debe seguir un procesodetallado para obtener un anlisis de los requerimientos de suproyecto, y para desarrollar un diseo que cumpla con esos
requerimientos. Si este proceso se hace desde un punto de vistaorientada a objetos, lo llamamos un proceso de anlisis y diseoorientado a objetos (A/DOO) .
4
8/7/2019 01 Introduccin a POO
5/29
Anlisis y Diseo Orientado a Objetos A/DOO es el trmino genrico para el proceso de analizar un
problema y desarrollar un mtodo para resolverlo.
Aunque existen muchos procesos de A/DOO distintos, existe un
lenguaje grfico para comunicar los resultados de cualquierproceso A/DOO que se denomina Lenguaje Unificado de Modelado (UML) , el cual se desarroll a mediados de la dcadade los noventa, bajo la direccin inicial de tres metodologistas desoftware: Grady Booch, James Rumbaugh e Ivar Jacobson.
5
8/7/2019 01 Introduccin a POO
6/29
8/7/2019 01 Introduccin a POO
7/29
7
Programacin Orientada a Objetos
Cmo nos ayuda la Tecnologa de Objetos?
La tecnologa de objetos es parte de la evolucin en TI
Se hacen aplicaciones ms rpido
Permite la reusabilidad del cdigo
Se tiene mayor base para la calidad del software
Es la base para arquitecturas distribuidas (CORBA y RMI) yWEB
8/7/2019 01 Introduccin a POO
8/29
8
ObjetosPermiten hacer sistemas ms adaptablesReducen el costo del mantenimiento y la modificacin
ResultadosMejor mantenimientoRetroalimentacin con los usuariosEntregas ms rpidas a los usuarios mediante procesos iterativos eincrementales
Programacin Orientada a Objetos
Cmo nos ayuda la Tecnologa de Objetos?
8/7/2019 01 Introduccin a POO
9/29
9
Programacin Orientada a Objetos
Cmo nos ayuda la Tecnologa de Objetos?
Los Objetos son el puente entreUsuarios finales (expertos en el dominio) y programadoresAnlisis y Diseo
Las ClasesExisten en el anlisis, el diseo y la implementacin
Se relacionan directamente con los conceptos del dominioProveen un significado natural e intuitivo de las separaciones
8/7/2019 01 Introduccin a POO
10/29
10
Los requerimientos y la arquitectura pueden ser capturadas enuna forma razonable y repetible.Los objetos modelan los conceptos del mundo real y su
comportamiento.Son fciles de entender.Interfaces bien definidas implementan calidad, funcionalidad y
reusabilidad.Los cambios en los requerimientos son fciles de llevar a cabocon costos de mantenimiento menores.
Programacin Orientada a Objetos
Cmo nos ayuda la Tecnologa de Objetos?
8/7/2019 01 Introduccin a POO
11/29
11
Re-engeniera Cientfico SistemasEmpotradosInternet y
eBusiness
ArquitecturasDistribuidas
Cliente/Servidor
Financiero
Comercial
OLTP
Telecomunicaciones. Tecnologa
deObjetos
Programacin Orientada a Objetos
Cmo nos ayuda la Tecnologa de Objetos?
8/7/2019 01 Introduccin a POO
12/29
12
AnlisisDiseo
Implementacin
Modelo OO
Anlisis deRequerimientos
Anlisis Implementacin Integracin yPruebas
Diseo
CLASES
Programacin Orientada a Objetos
Cmo nos ayuda la Tecnologa de Objetos?
8/7/2019 01 Introduccin a POO
13/29
13
UML es una notacin grfica y textualRica, expresiva y extensibleUML no es una metodologa
UML tiene toda la semntica y la notacin necesarias paraespecificar los artefactos requeridos para la construccin desoftware orientado a objetos
UML no especifica un ciclo de desarrollo
Programacin Orientada a Objetos
Cmo nos ayuda la Tecnologa de Objetos?
8/7/2019 01 Introduccin a POO
14/29
14
Programacin Orientada a Objetos
Objeto
OperacinAtributoClase
Mensaje
Asociacin Herencia
Tecnologade
Objetos
POO =Herencia PolimorfismoAbstraccin
8/7/2019 01 Introduccin a POO
15/29
15
Programacin Orientada a Objetos
Qu es un Objeto?
Definicin Filosfica : una entidad que uno puede reconocer.
En Tecnologa de Objetos : una abstraccin de un objeto del
mundo real, ya sea fsico o conceptual.
En el dominio : una entidad relevante para el dominio de la
aplicacin.
En trmino de software : una estructura de datos con operacionesasociadas.
8/7/2019 01 Introduccin a POO
16/29
16
Programacin Orientada a Objetos
Qu son las clases y los objetos?
Una Clase : Modelos, abstraccin de objetos Define los atributos y el comportamiento de los objetos
Es la platilla que define los objetos
Un Objeto :
Es una copia del molde de una clase Es una instancia simple de alguna clase Retiene la estructura y el comportamiento de alguna clase
8/7/2019 01 Introduccin a POO
17/29
17
Programacin Orientada a Objetos
Los atributos del objeto mantienen su estado actual
Los objetos almacenan su estado actual. Cada pieza almacenada (variable) se conoce como atributo.
El valor de los atributos denota el estado actual del objeto.
INK
Atributo:Tinta disponible
Atributo:Dinero disponible
Objeto:Mi lapicero azul
Objeto:Cajero Automtico BCP
8/7/2019 01 Introduccin a POO
18/29
18
Programacin Orientada a Objetos
Los objetos tienen un comportamiento
Un objeto existe para ofrecer cierto comportamiento(funcionalidad) al sistema.
Cada comportamiento distinto es llamado operacin
Objeto:Mi lapicero azul Operacin:
Escribir
Objeto:Cajero automtico BCP
Operacin:Retirar
8/7/2019 01 Introduccin a POO
19/29
19
Programacin Orientada a Objetos
Los objetos son modelados como Abstracciones
Un objeto de Java es modelado como una representacin abstractade un objeto del mundo real.
El modelo tiene solo los atributos y operaciones que son
relevantes al contexto del problema.
Atributos y operaciones del mundo real que no seran deseables en el modelo: Atributos: color de la tinta Operaciones: rellenar, cambiar color, punto, escribir
Contexto: Catlogo de productosAtributos y operaciones del mundo real que seran deseables en el modelo: Atributos: modelo, fabricante, precio
Operaciones: cambiar precio
8/7/2019 01 Introduccin a POO
20/29
20
Programacin Orientada a Objetos
El Banco puedeser un objeto
El Banco puede tenerCajeros que pueden
ser objetos
Un Cajero puede tenerteclado, lector de tarjetas,
etc. Todas estas partespueden ser tambin
objetos.
Los objetos pueden ser compuestos
Los objetos pueden estar compuestos de otros objetos. Los objetos pueden ser parte de otros objetos. Esta relacin entre objetos se conoce como agregacin .
8/7/2019 01 Introduccin a POO
21/29
21
Programacin Orientada a Objetos
getEdad()
Clienteo
Invocador
Persona
Mensajenombredireccionedad
getNombre
setEdadgetEdad
getDireccion setDireccion
Clase Objeto
8/7/2019 01 Introduccin a POO
22/29
22
Programacin Orientada a ObjetosLos objetos colaboran entre si
Los objetos trabajan juntos para cumplir una funcin y forman labase de una aplicacin. Todos los mtodos son definidos dentro de una clase.
Todos los objetos son creados desde alguna clase y contienetodos los atributos y mtodos de la clase.
Los objetos se asocian con otros para colaborar en una tarea
comn. Los objetos asociados se comunican a travs del envo de
mensajes (llamadas a mtodos)
8/7/2019 01 Introduccin a POO
23/29
23
Programacin Orientada a ObjetosLos objetos interactan mediante mensajes El objeto invocador debe estar asociado o enlazado con el que
recibe la llamada. El objeto que enva el mensaje pide al receptor que realice alguna
operacin que es especificada en el mensaje.
Similar a la llamada a procedimientos o funciones: El que enva llama algn mtodo del receptor. El receptor ejecuta la tarea especificada.
La llamada a mtodos es siempre en el contexto de algn objeto: miLapiz.escribe( ): Programacin orientada a objetos. escribe (miLapiz): Programacin estructurada tradicional.
8/7/2019 01 Introduccin a POO
24/29
24
Programacin Orientada a Objetos
Cuando se crea el objeto mi lapicero azul, no hay que especificar susoperaciones o atributo. Simplemente se cual es la clase del objeto que secrea.
Qu es una clase?
Una clase es una plantilla para crear objetos. La definicin de una clase especifica las operaciones y los
atributos para todas las instancias de la clase (objetos).
8/7/2019 01 Introduccin a POO
25/29
25
Programacin Orientada a Objetos
Clases vs Objetos
Las clases son la definicin esttica y estndar que usamos paracomprender todos los objetos de una clase (tipo).
Los objetos los entidades (ejemplares) dinmicos que existen enel mundo real y en nuestra simulacin de este.
Advertencia : Los especialistas ya acostumbrados a la orientacina objetos usan las palabras clase y objeto de forma indistinta; sedebe entender el contexto para diferenciar entre estos dossignificados.
8/7/2019 01 Introduccin a POO
26/29
26
Programacin Orientada a Objetos
Qu es el encapsulamiento?
El encapsulamiento consiste en ocultad la estructura y las
operaciones de un objeto detrs de su interface. El cajero automtico es un objeto que le da dinero a sus clientes:
El cajero oculta a sus clientes las operaciones internas querealiza.
La interface (medio de operacin del cajero) es ofrecida por lasfunciones del teclado, la pantalla, y otros dispositivos.
Si se pidiera violar el encapsulamiento del cajero se pudierarobar al banco.
Violar el encapsulamiento en orientacin a objetos es imposible .
8/7/2019 01 Introduccin a POO
27/29
27
Programacin Orientada a ObjetosQu es la Herencia?
Puede ser la concordancia entre varias clases.
Define las propiedades comunes en una clase superclase.
Cuenta de ahorros Cuenta corriente
Cuenta
Las subclases usan la herencia para aadir atributos o mtodos.Las subclases usan la herencia para cambiar mtodos.
SuperclaseClase baseClase padre
SubclaseClase derivadaClase hija
8/7/2019 01 Introduccin a POO
28/29
28
Programacin Orientada a Objetos
Uso de la relacin es-un-tipo-de
Un objeto de la subclase es un tipode objetos de la superclase.
La subclase tiene todos los atributosy comportamientos de la superclase.
Lapicero
Lpiz
Cuenta de Ahorros
Cuenta
8/7/2019 01 Introduccin a POO
29/29
29
Programacin Orientada a ObjetosQu es el Polimorfismo?
El polimorfismo se refiere a: Varias formas de hacer la misma operacin La habilidad de solicitar una operacin con el mismo significado
a diferentes objetos, sabiendo que cada objeto implementa laoperacin a su forma.
Los principios de la herencia y de la substitucin de objetos
Cargan pasajeros
Top Related