programación orientada a objetos.ppt
Post on 13-Apr-2018
225 Views
Preview:
TRANSCRIPT
-
7/26/2019 Programacin Orientada a Objetos.ppt
1/28
Programacin Orientada a Objetos
-
7/26/2019 Programacin Orientada a Objetos.ppt
2/28
Introduccin
Los problemas suelen tener varias solucionesposibles. En programacin existen diversas metodologasque nos
ayudan a enfrentar un problema. Cada metodologa tiene diversos lenguajesque las
soportan. Algunos lenguajes soportan varias metodologas.
Metodologa LenguajeEstructurada ortran! C! "ascal! #asic
Orientada a objetos$OOP%
C++! &ava! 'malltal(
)rientada a eventos *isual#asic
-
7/26/2019 Programacin Orientada a Objetos.ppt
3/28
Programacin Orientada a Objetos
Definicin:
La Programacin Orientada a Objetos (OOP)es unmtodode programacin en el cual los programas se
organi+an en colecciones cooperativas de objetos!cada uno de los cuales representa una instanciadealguna clase! y cuyas clases son! todas ellas!miembros de unajerar!ua de clasesunidas
mediante relaciones de "erencia.Comentarios: ,samos objetos en lugar de algoritmoscomo bloque fundamental Cada objeto es una instanciade una clase
Las clases est-n relacionadas entre s por relaciones tancomplejas como la erencia
-
7/26/2019 Programacin Orientada a Objetos.ppt
4/28
#entajas de la POO
"roximidad de los conceptos modeladosrespecto a objetos del mundo real
acilita la reutili+acin de cdigo / por tanto el mantenimiento del mismo 'e pueden usar conceptos comunesdurante
las fases de an-lisis! dise0o e implementacin1isipa las barreras entre el quy el cmo
-
7/26/2019 Programacin Orientada a Objetos.ppt
5/28
Des$entajas de la POO
2ayor complejidad a la ora de entender elflujo de datos "3rdida de linealidad
4equiere de un lenguaje de modeli+acin deproblemas m-s elaborado5 Unified Modelling Language $,2L%
4epresentaciones gr-ficasm-s complicadas
-
7/26/2019 Programacin Orientada a Objetos.ppt
6/28
Conce%tos de la OOP
Conce%tos b&sicos )bjeto Clase
Caractersticas de la OOP Abstraccin5 Encapsulamiento5
2odularidad5 &erarqua
Otros conce%tos OOP 6ipos "ersistencia
'i%os de relaciones
Asociacin 7erencia Agregacin 8nstanciacin
e%resentaciones gr&ficas 1iagramas est-ticos $de
clases! de objetos...% 1iagramas din-micos $de
interaccin...%
-
7/26/2019 Programacin Orientada a Objetos.ppt
7/28
Objeto Clase
,n objetoes algo de loque ablamos y quepodemos manipular
Existenen el mundo real $oen nuestro entendimiento delmismo%
,na clasedescribe losobjetos del mismo tipo 6odos los objetos son
instanciasde una clase 1escribe las propiedadesy el
comportamientode un tipo deobjetos
Clase
Atributos
Operaciones
Objeto:Clase
Atributo1=valorAtributo2=valor...
-
7/26/2019 Programacin Orientada a Objetos.ppt
8/28
Conce%tos OOP: *bstraccin
9os permite trabajar con la complejidad del mundo real 4esaltando los aspectos relevantes de los objetos de una clase )cultando los detalles particulares de cada objeto
'epararemos el comportamientode la implementacin Es m-s importante saber qu3 se aceen lugar de cmo seace5
,n sensor de temperatura 'e define porque...
mide la temperatura nos muestra su valor se puede calibrar...
9o sabemos... $no nos importa% cmo mide la temperatura de qu3 est- eco cmo se calibra
-
7/26/2019 Programacin Orientada a Objetos.ppt
9/28
Conce%tos OOP: *bstraccin
La abstraccin no es :nica5
n coc"e %uede ser,,,
,na cosa con ruedas! motor! volantey pedales $conductor%
Algo capa+ de transportar personas$taxista%
,na caja que se mueve $simuladorde tr-fico%
Conjunto de pie+as $fabricante%
-
7/26/2019 Programacin Orientada a Objetos.ppt
10/28
Conce%tos OOP: -nca%sulamiento
9inguna partede un sistema complejo debedependerde los detalles internos de otra.
Complementaa la abstraccin 'e consigue5 'eparandola interfa+de su implementacin )cultandola informacin internade un objeto
Escondiendola estructurae implementacinde losm3todos$algoritmos%.
Exponiendosolo la forma de interactuarcon elobjeto
-
7/26/2019 Programacin Orientada a Objetos.ppt
11/28
Conce%tos OOP: -nca%sulamiento
#emos !ue se %uede,,, Construir con5
; puntos $y restricciones% < punto y = vectores < punto! < vector! < -ngulo
y < lado 6ransformaciones5
Escalado 4otacin 1espla+amiento
1ibujar
.o $emos,,, Como est- representado
internamente ; puntos> < punto y = vectores> ...
Como se modifica su escala ?uardando el factor> Escalando en el momento>
8dem para rotacin! traslacin!
etc...
-jem%lo: n %aralelogramo
-
7/26/2019 Programacin Orientada a Objetos.ppt
12/28
Conce%tos OOP: Modularidad
Consiste en separar el sistema en bloques pocoligadosentre s5 mdulos. )rgani+acin del cdigo
Es una especie de encapsulamientode m-s alto nivel. El C@@ no lo impone aunque lo soporta
$namespace% El &ava es m-s formal $pac(ages%
1ifcil pero muy importante en sistemas grandes. 'uele aplicarse refinando el sistema en sucesivas
iteraciones
Cada mdulo debe definir una interfa+ clara
-
7/26/2019 Programacin Orientada a Objetos.ppt
13/28
Conce%tos OOP: Modularidad
-jem%lo: /imulacin detector de **--
"uede dividirse en los siguientes mdulos...
0, 1eometra5 1escribe el detector
fsicamente $forma! materiales! tama0o%2, Partculas5 Las partculas cuyas
interacciones nos interesan
3, Procesos5 Aqu enla+amos la informacindel detector $materia% con las propiedades
de las partculas.4, ,,,
"odramos dividir el mdulo de procesos enprocesoselectromagnticos!procesos hadrnicos! ...
Lo mismo podramos acerlo con las partculas5 leptones!hadrones! ...
-
7/26/2019 Programacin Orientada a Objetos.ppt
14/28
Conce%tos POO: 5erar!ua
Es una clasificacinu ordenamiento de lasabstracciones
7ay dos jerarquas fundamentales5 Estructura de clases5&erarqua es un/aB4elaciones de erencia
Estructura de objetos5&erarqua parte deB4elaciones de agregacinEst- implementada de manera gen3rica en la estructura
de clases
-
7/26/2019 Programacin Orientada a Objetos.ppt
15/28
Conce%tos OOP: 5erar!ua
,na figura %lanaes5 Algo con una posicin en el
plano Escalable 4otable
,n gr&ficoes algo que se
puede dibujar en =1
,n diagramaes un conjuntode cuadrados y crculos
6erenciasimple ,n cuadrado es una figura ,n crculo es unafigura
6erenciam:ltiple
es unafiguraes un gr-fico
*gregacin
-jem%lo: 7iguras %lanas diagramas
-
7/26/2019 Programacin Orientada a Objetos.ppt
16/28
Conce%tos OOP: 'i%o
Es el refor+amientodel concepto de clase)bjetos de tipo diferente no pueden ser
intercambiados El C@@ y el &ava son lenguajes fuertementetipeadosB
Ayuda a corregir errores en tiempo de
compilacin 2ejor que en tiempo de ejecucin
-
7/26/2019 Programacin Orientada a Objetos.ppt
17/28
Conce%tos OOP: Persistencia
"ropiedad de un objeto de trascenderen el tiempo yen el espacio a su creador $programa que lo gener%
9o se trata de almacenarslo el estado de un objeto
sino toda la clase$incluido su comportamiento% 9o est- directamente soportado por el C@@
Existen libreras y sistemas completos $))1#2'% quefacilitan la tarea
rameor(s $entornos% como 4))6 lo soportan parcialmente$reflex%
El concepto de seriali+acindel &ava est-directamente relacionado con la persistencia
-
7/26/2019 Programacin Orientada a Objetos.ppt
18/28
elaciones
Est-n presentes en cualquier sistema1efinen como se producen los intercambios de
informacin y datos 6ambi3n ayudan a comprender las
propiedades de unas clases a partir de laspropiedades de otras
Existen ; tipos de relaciones5 Asociacin 7erencia Agregacin
8nstanciacin
-
7/26/2019 Programacin Orientada a Objetos.ppt
19/28
elacin de *sociacin
4elacin m-s general 1enota una dependencia sem-ntica Es bidireccional "rimer pasopara determinar una relacin
m-s complejaEjemplo5 4elacin entre un producto y una venta. Cualquier ventaest- asociada a un producto! pero no es! ni forma parte de! ni
posee ning:n productoD al menos en una primera aproximacin.
Cardinalidad:multiplicidad a cada lado ,no a uno5 *enta6ransaccin ,no a mucos5 "roducto*enta 2ucos a mucos5 Comprador*endedor
-
7/26/2019 Programacin Orientada a Objetos.ppt
20/28
elacin de 6erencia
F4elacin caractersticade la ))"G "uede expresar tanto especiali+acin
como generali+acin Evita definir repetidas veces
las caractersticas comunesavarias clases
,na de las clases compartela estructurayHo el comportamientode otra$s%clase$s%.
6ambi3n se denomina relacin es un/aB$is a%
-
7/26/2019 Programacin Orientada a Objetos.ppt
21/28
elacin de 6erencia ($ocabulario)
Clase base o su%erclase5 clase de la cual se ereda Clase deri$ada o subclase5 clase que ereda 6erencia sim%le5 7ereda de una sola clase 6erencia m8lti%le5 7ereda de varias clases
&ava solo la soporta parcialmente "resenta diversos problemas $Iqu3 acer cuando se ereda
m-s de una ve+ de la misma clase>% Clase abstracta5 La que no lleva! ni puede llevar!
ning:n objeto asociado Polimorfismo5 "osibilidad de usar indistintamente
todos los objetos de un clase y derivadas.
-
7/26/2019 Programacin Orientada a Objetos.ppt
22/28
elacin de 6erencia (ejem%lo)
Figura plana
Tringulo
Rectngulo
Equiltero
Escaleno
Issceles
Cuadrado
Polimorfismo
Clase abstracta
Superclase Subclase
Herencia simple
-
7/26/2019 Programacin Orientada a Objetos.ppt
23/28
elacin de *gregacin
,na clasecontiene a otraclase Jsta es parte deB aqu3lla.
6ambi3n se denominarelacin esparte deB $as a%
,na clase puede contener a otra5
"or valor5 Cuando los objetos de la clase contenidase crean y destruyen al mismo tiempo que los de laclase continente
"or referencia5 Cuando no necesariamente ocurre lo
anterior
-
7/26/2019 Programacin Orientada a Objetos.ppt
24/28
elacin de *gregacin
,n coc"eest- eco de *olante
"alanca de cambio2otor4uedas
4uedas
*olante
2arcas
2otor
Coce
-
7/26/2019 Programacin Orientada a Objetos.ppt
25/28
elacin de Instanciacin
En determinados casos una clase $p.ej. unvector% puede implementarseindependientemente del tipo$real! complejo!color...% de alguno de sus atributos5 1efinimos una clase
%arametri9adao template$plantilla%
"ara cada uno de los tiposque necesitemosdefinimos una nuevaclase8nstanciacin
6ipo
*ector
*ectorEnterosKint
*ectorColoresKColor
-
7/26/2019 Programacin Orientada a Objetos.ppt
26/28
e%resentaciones gr&ficas
9os sirven para comunicarnos con otros usuarios odesarrolladores.
1ocumentan nuestro sistema 7ay m:ltiples vistas y tipos de diagramas5
Est-ticos 1iagramas de clasesLos de los ejemplos 1iagramas de objetos
... 1in-micos5 1iagramas de estado5 2uestra el ciclo de vida de los objetos!
sistemas! etc... 1iagramas secuenciales5 2uestra como los objetos interaccionan
entre ellos ...
-
7/26/2019 Programacin Orientada a Objetos.ppt
27/28
Diagrama de estado: n ascensor
En el primerpiso
'ubiendo
#ajando alprimer piso
#ajando "arado
subir
llegu3
llegu3 subir
bajar
timeout
llegu3
-
7/26/2019 Programacin Orientada a Objetos.ppt
28/28
Diagrama secuencial: Im%resin
)rdenador 8mpresora Cola'ervidor
Imprime (fichero)
Imprime (fichero)
[impr. Libre]
Almacena (fichero)
[impr. ocupada]
top related