Professional Documents
Culture Documents
1. LOS PARADIGMAS......................................................................................................................................3
1.1. QUE ES UN PARADIGMA .............................................................................................................................3
1.2. EL PARADIGMA DE OBJETOS .....................................................................................................................3
1.3. LA PROGRAMACIN ORIENTADA A OBJETOS .............................................................................................4
1.4. POR QUE OBJETOS ......................................................................................................................................4
2. MODELADO DE OBJETOS ........................................................................................................................6
2.1. QUE ES UN MODELO ..................................................................................................................................6
2.2. QUE ES UN OBJETO ....................................................................................................................................6
2.3. QUE ES UN MENSAJE .................................................................................................................................7
2.4. QUE ES EL COMPORTAMIENTO ...................................................................................................................7
2.5. QUE ES UN AMBIENTE................................................................................................................................8
2.6. EL SOFTWARE ORIENTADO A OBJETOS ......................................................................................................9
3. INTRODUCCIN AL PARADIGMA DE OBJETOS ...............................................................................9
3.1. LOS OBJETOS Y LAS CLASES ......................................................................................................................9
3.2. LOS ATRIBUTOS.......................................................................................................................................11
3.3. LOS TIPOS DE DATO ................................................................................................................................11
3.4. LAS OPERACIONES...................................................................................................................................12
3.5. LA VISIBILIDAD .......................................................................................................................................13
3.6. EL ENCAPSULAMIENTO............................................................................................................................14
3.7. LOS CONSTRUCTORES .............................................................................................................................15
3.8. LA SOBRECARGA DE OPERACIONES .........................................................................................................16
3.9. MECANISMO DE HERENCIA ......................................................................................................................17
3.10. POLIMORFISMO ......................................................................................................................................20
3.11. ATRIBUTOS DE CLASE ...........................................................................................................................22
3.12. OPERACIONES DE CLASE .......................................................................................................................23
4. INTRODUCCIN A UML..........................................................................................................................24
4.1. QU ES UML ...........................................................................................................................................24
4.2. COMO NACE UML ...................................................................................................................................24
4.3. DONDE SE UTILIZA ...................................................................................................................................25
5. INTRODUCCIN A LOS DIAGRAMAS DE UML ................................................................................26
5.1. INTRODUCCIN ........................................................................................................................................26
5.2. DIAGRAMA DE CLASES ............................................................................................................................26
5.3. DIAGRAMA DE OBJETOS ..........................................................................................................................26
5.4. DIAGRAMA DE CASOS DE USO .................................................................................................................26
5.5. DIAGRAMA DE ESTADOS ..........................................................................................................................26
5.6. DIAGRAMA DE ACTIVIDADES ..................................................................................................................27
5.7. DIAGRAMA DE COMUNICACIN ...............................................................................................................27
5.8. DIAGRAMA DE SECUENCIA ......................................................................................................................27
5.9. DIAGRAMA DE COMPONENTES ................................................................................................................27
5.10. DIAGRAMA DE DESPLIEGUE...................................................................................................................28
6. CLASIFICACIN DE DIAGRAMAS .......................................................................................................29
6.1. CATEGORAS ............................................................................................................................................29
6.2. DIAGRAMAS ESTTICOS ..........................................................................................................................29
6.3. DIAGRAMAS DINMICOS .........................................................................................................................29
6.4. DIAGRAMAS ESTRUCTURALES .................................................................................................................30
6.5. DIAGRAMAS DE COMPORTAMIENTO ........................................................................................................30
7. LABORATORIOS .......................................................................................................................................31
7.1. CONSIGNA ...............................................................................................................................................31
7.2. CASO DE ESTUDIO ...................................................................................................................................31
Pgina 1
Pgina 2
1. Los Paradigmas
1.1. Que es un Paradigma
Un Paradigma es un concepto abstracto, la definicin de un modelo o patrn en
cualquier disciplina fsica.
Todo
paradigma
nace
de
la
filosofa
de
una
comunidad
cientfica
que,
nuestros programas,
Pgina 3
paradigma,
en
tanto
que
es
un
concepto
terico,
tiene
infinitas
Pgina 4
La programacin orientada a objetos tiende a ser una simple idea. Esta simple
idea es: en lugar de crear estructuras de datos por un lado y cdigo por el otro,
la idea es asociar piezas de cdigo junto con los datos.
El mercado de lenguajes de programacin, tiende a utilizar este paradigma ya
que trae innumerables ventajas con respecto a la programacin estructurada.
A continuacin se enumeran algunas de ellas:
posible
existencia
de
errores
incongruencias
cometidos
por
los
programadores.
Pgina 5
2. Modelado de Objetos
2.1. Que es un Modelo
Un modelo es una posibilidad de visualizar a escala o de una manera simulada
algo que ser construido en la realidad. Es posible decir que antes de construir un
edificio se realizan maquetas a escala que representa modelos a seguir, as como
tambin cuando se construye un auto se confeccionan distintos planos o modelos
a escala para intentar simular o prever su comportamiento.
Acadmicamente, es posible definirla como una abstraccin de la realidad, es una
simplificacin de la realidad, con el objetivo final de pasar del modelo a producto
real.
Los modelos pueden ser expresados en distintos niveles de precisin, desde algo
muy genrico presentando una visin, hasta algo mucho mas especifico que
representa un gran compromiso con el producto a construir.
ms
informtica,
podemos
definir
un
objeto
como
un
ente
Pgina 6
Por ejemplo, si a un objeto Persona le pido que me diga su edad, voy a recibir
como respuesta un nmero que representa la edad de la persona.
Si tengo un objeto Alumno, podra pedirle los cursos que est haciendo
actualmente, y en este caso que me devuelve? Me devuelve un objeto que
representa el conjunto de cursos que esta haciendo.
Un objeto entiende cualquier mensaje que se le enva?
No! Nosotros, como programadores de objetos, debemos definir cuales son los
mensajes que entiende cada objeto.
Y que pasa si le mando un mensaje que no entiende?
Esto depender del lenguaje, pero en principio, esto causa un error, ya que si un
objeto no entiendo el mensaje que se le est mandando, entonces nuestro
programa no estara andando bien.
Pgina 7
Ya dijimos que un objetos era un ente abstracto, que saba enviar y responder
mensajes. Y que nosotros debemos definir cuales son los mensajes que un objeto
debe entender.
El comportamiento, es el conjunto de mensajes que un objeto entiende, y a los
que me puede o no responder. Lo importante, es que lo entiende.
Con este nuevo concepto, podramos entonces entender un objeto como:
Un ente computacional que exhibe comportamiento.
De esta forma, dado un objeto, por ejemplo Persona, uno podra preguntar, cul
es el comportamiento de una Persona? Y ah uno debe responder con todo lo que
el objeto persona sabe hacer. Esto, lo define el programador de ese objeto.
Dicho de otra manera, el comportamiento son las cosas que sabe hacer un
objeto, el conjunto de mensajes que un objeto le va a poder enviar.
Pgina 8
es un conjunto
de
(comportamiento).
Debemos entender los objetos como abstracciones de la realidad con ciertas
caractersticas
representativas.
Estos
objetos
representan
(o
deberan
representar) ideas del mundo real, ideas concretas como por ejemplo animales o
personas.
En el POO (Paradigma Orientado a Objetos) existen dos conceptos claves que
deben ser comprendidos, los conceptos de clase y objeto.
Las clases son plantillas que contienen atributos y operaciones, se consideran los
moldes para los objetos. Las clases se detectan como sustantivos en singular el
99%
de
las
veces,
esto
significa
que
suelen
tener
nombres
como
CuentaCorriente o Automovil.
Ahora bien, qu es un objeto exactamente? Un objeto es la instancia de una
clase, podemos decir que el objeto representa algo en particular y la clase algo
Pgina 9
Pgina 10
En este caso creamos una clase Automovil y colocamos atributos color, modelo,
precio, y usado que al adquirir valores en un objeto, lo diferenciarn a este de
otras instancias (objetos) de la clase Automovil.
Lo mismo podramos hacer con una clase CuentaBancaria, como se muestra a
continuacin:
Pgina 11
objeto que
definen su
comportamiento.
Pgina 12
3.5. La Visibilidad
La visibilidad o accesibilidad determina el alcance que tiene un atributo u
operacin. El alcance (scope) de un miembro representa qu partes pueden
acceder a dicho miembro. El alcance est determinado por los modificadores de
visibilidad, presentados como publico (su simbologa es el signo +) y como
privado (su simbologa es el signo -)
Que un atributo u operacin sea privado significa que aquel atributo u operacin
solo puede ser accedido desde dentro del objeto que lo contiene. En cambio si
este atributo u operacin fuera pblico podra ser accedido por cualquier objeto.
En el siguiente ejemplo podemos ver los miembros pblicos y privados de la clase
Auto diferenciados por los signos - y +:
Una de las dudas que surgen a la hora de entender los modificadores de acceso
es por qu debera de tener un miembro privado?. Hacer que un atributo sea
Pgina 13
privado se utiliza para tratar con datos o valores los cuales no queremos que
sean accedidos ms que por el objeto contenedor. Las operaciones privadas
cobran sentido como procesamientos internos del objeto que no queremos sean
accedidas por otros objetos (tanto porque no tiene sentido que la accedan otros
objetos como porque podra resultar peligroso para la integridad del objeto
contenedor).
El porqu de utilizar miembros privados se aclarar a continuacin junto con el
tema Encapsulamiento.
En resumen, la visibilidad determina el alcance (scope) del atributo u operacin
en cuestin
3.6. El Encapsulamiento
El encapsulamiento es una de las caractersticas representativas de la POO. Este
concepto tiene que ver con la forma correcta de pensar en clases y objetos.
Significa aislar o independizar las clases de nuestro programa de tal manera que
su funcionamiento sea independiente del de las otras clases.
Pgina 14
El grafico representa que los atributos estn encerrados por operaciones, es decir
que los atributos son privados y las operaciones son pblicas. Esto significa que
para poder acceder a un atributo es necesario utilizar una operacin, es decir que
no hay posible acceso al atributo sino no se utiliza una operacin.
A continuacin se presenta el encapsulamiento con la clase CuentaBancaria:
tratarse
de
operaciones,
los
constructores pueden
contener
cualquier
Pgina 15
Los constructores suelen llamarse con el mismo nombre de las clases, como se
muestra a continuacin:
Pgina 16
Pgina 17
En el diagrama anterior vemos como una clase puede tener tanto superclases
como subclases. Esto significa que una clase hereda de una superclase o clase
padre, y es heredada por subclases o clases hijas. La flecha indica quien
hereda a quien, es decir, el origen de la flecha es la clase hija y el destino de la
flecha es la clase padre.
Se considera clases hijas a las clases que heredan directamente de una clase y
subclases tanto a las clases hijas como al resto de clases que tengan menor
jerarqua en el rbol de herencia; se considera clase padre a la clase de la que se
hereda directamente.
Cuando una clase hereda de otra, todas las operaciones y atributos pasan a estar
disponibles en la clase hija, es decir que partimos de todos estos elementos e
Pgina 18
incluso podemos agregar nuevos o modificar estos ya heredados. Con las clases
heredadas ampliamos la descripcin de un concepto de la vida real, lo volvemos
ms especfico.
Para comprender mejor la herencia y la naturaleza de las clases heredadas, es
necesario entender que una clase hija es ms especfica conceptualmente que la
clase padre, a la vez que la clase padre es ms general conceptualmente que la
clase hija. Esto lo podemos visualizar mejor de la siguiente manera:
Pgina 19
CuentaCorriente,
donde
CajaDeAhorro
ES
UNA
3.10. Polimorfismo
Otro mecanismo presente en el POO es el polimorfismo. En el POO encontramos
dos tipos de polimorfismo, uno de ellos ya lo vimos y se conoce comnmente
como "Sobrecarga de Operaciones". El otro, el que veremos ahora, tiene que ver
con la capacidad que tienen las clases de redefinir el comportamiento de una
operacin heredada de la clase padre.
Pgina 20
Pgina 21
Pgina 22
Pgina 23
4. Introduccin a UML
4.1. Qu es UML
UML es un lenguaje grafico que permite modelar, visualizar y documentar
sistemas. Esta compuesto por distintos diagramas que permiten ir representando
las distintas vistas de un sistema, cada diagrama tiene un objetivo bien definido.
UML significa Unified Modeling Language o Lenguaje Unificado de Modelado, y
esta basa en tres principios fundamentales:
Pgina 24
Pgina 25
Pgina 26
El Diagrama de Estados tiene como objetivo describir los estados por los
cuales puede pasar un objeto durante su ciclo de vida. Permite modelar
tanto estas simples como compuestos y concurrentes.
Esta compuesto por estados, pseudo-estados y transiciones entre estados.
Pgina 27
Pgina 28
6. Clasificacin de Diagramas
6.1. Categoras
Es posible clasificar a los diagramas segn si tienen alguna relacin con el tiempo
o no. Existen dos posibles categoras, los diagramas estticos y los diagramas
dinmicos.
Diagrama de Clases
Diagrama de Objetos
Diagrama de Componentes
Diagrama de Despliegue
Diagrama de Actividades
Diagrama de Estado
Pgina 29
Diagrama de Clases
Diagrama de Objetos
Diagrama de Componentes
Diagrama de Despliegue
Diagrama de Comunicacin
Diagrama de Secuencia
Diagrama de Actividades
Diagrama de Estados
Pgina 30
7. Laboratorios
7.1. Consigna
Los ejercicios sern realizados en forma grupal, en grupos de 4 o 5 personas,
analizando un caso de estudio y armando una solucin utilizando el pensamiento
de objetos.
El caso de estudio y su solucin consisten en pensar e identificar cules son los
objetos que tendramos en nuestro sistema de gestin bancaria.
Pgina 31
Pgina 32
Pgina 33
Pgina 34
Pgina 35
Pgina 36
el
cdigo
en
forma
genrica
utilizando
las
clases
Programa,
ClienteCorporativo y CuentaCorriente.
Pgina 37
Pgina 38
8. Diapositivas
Pgina 39
Pgina 40
Pgina 41
Pgina 42
Pgina 43
Pgina 44
Pgina 45
Pgina 46
Pgina 47
Pgina 48
Pgina 49
Pgina 50
Pgina 51
Pgina 52
Pgina 53
Pgina 54
Pgina 55
Pgina 56
Pgina 57
Pgina 58
Pgina 59
Pgina 60
Pgina 61
Pgina 62
Pgina 63
Pgina 64
Pgina 65
Pgina 66
Pgina 67
Pgina 68
Pgina 69
Pgina 70
Pgina 71
Pgina 72
Pgina 73
Pgina 74
Pgina 75
Pgina 76
Pgina 77
Pgina 78
Pgina 79
Pgina 80
Pgina 81
Pgina 82
Pgina 83
Pgina 84
Pgina 85
Pgina 86
Pgina 87
Pgina 88
Pgina 89
Pgina 90
Pgina 91
Pgina 92
Pgina 93
Pgina 94
Pgina 95
Pgina 96
Pgina 97
Pgina 98
Pgina 99
Pgina 100
Pgina 101
Pgina 102
Pgina 103
Pgina 104
Pgina 105
Pgina 106
Pgina 107
Pgina 108