Upload
yami-kiev
View
18
Download
1
Embed Size (px)
DESCRIPTION
Metodología de programación abstracta (objetos)
Citation preview
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 1 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 2 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
7.3. EJERCICIO #1 DETECCIN DE CLASES ...................................................................................................32 7.4. EJERCICIO #2 DETECCIN DE ATRIBUTOS.............................................................................................33 7.5. EJERCICIO #3 DETECCIN DE OPERACIONES.........................................................................................34 7.6. EJERCICIO #4 RELACIONES SIMPLES .....................................................................................................35 7.7. EJERCICIO #5 RELACIONES MLTIPLES ................................................................................................36 7.8. EJERCICIO #6 USO DE OBJETOS.............................................................................................................37 7.9. EJERCICIO #7 HERENCIA .......................................................................................................................38
8. DIAPOSITIVAS ...........................................................................................................................................39
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 3 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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,
especializada en un tema particular, decide plantear algn nuevo concepto
abstracto o forma de pensar. En este caso en particular, una parte de la
comunidad cientfica que estudiaba la computacin como una rama matemtica y
se especializaba en ello, forja esta nueva ideologa o forma de pensar que es el
Paradigma de Programacin Orientado a Objetos.
En programacin, el paradigma, nos determina como van a ser los bloques de
construccin de los programas, es decir, los elementos que los constituyen.
1.2. El Paradigma de Objetos El paradigma de programacin orientada a objetos plantea que todo sistema o
proceso informtico puede modelarse con Objetos que se encuentren vivos en
algn tipo de Ambiente y se relacionan con otros Objetos enviando y recibiendo
Mensajes.
Es decir, programar bajo este paradigma, implica que nuestros programas,
debern ser pensados slo con objetos y mensajes.
Un objeto, en OOP, es un ente completamente abstracto que sabe escuchar,
responder y enviar ciertos mensajes.
Un Mensaje es una comunicacin dirigida de un objeto a otro. Informacin
enviada desde emisor, hasta el receptor.
El paradigma de objetos tiene otros conceptos que completan este esquema de
Objeto-Mensaje, que se irn detallando a lo largo del curso.
Como todo concepto terico o abstracto que quiera ser llevado a la vida real o a
la prctica, requiere de algn tipo de implementacin.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 4 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Si queremos desarrollar un software, con la idea terica o paradigma nicamente
no nos alcanzara, es necesario tener algo concreto con lo cual trabajar, una
implementacin del paradigma.
Un paradigma, en tanto que es un concepto terico, tiene infinitas
implementaciones. A la vez, por este mismo motivo, una implementacin es una
y slo una instancia posible que responde al Paradigma.
Cuando hablamos de una implementacin estamos hablando de un lenguaje de
programacin orientado a objetos (es decir, que contempla los conceptos tericos
del paradigma orientado a objetos). Cada uno de estos lenguajes implementar
cada uno de estos conceptos de forma diferente. Por eso es importante
diferenciar los conceptos del paradigma de la implementacin del paradigma.
Es decir, por ejemplo, primero es necesario conocer la definicin de un objeto
segn el paradigma, y luego, conocer la implementacin de un objeto para
determinado lenguaje de programacin.
Vamos a ir clarificando cada uno de estos conceptos a lo largo de las clases.
1.3. La Programacin Orientada a Objetos OOP (Object Oriented Programming o en espaol Programacin orientada a
objetos en ingles) se basa en el concepto de agrupar cdigo y datos juntos en
una misma unidad llamada clase. Este proceso es usualmente referido como
encapsulamiento o informacin oculta.
Estas clases son esencialmente la representacin de un set de funciones
(llamadas mtodos) y variables (llamadas propiedades) designadas para trabajar
juntas y proveer una interfaz especifica.
Es importante entender que las clases son una estructura que no puede ser
utilizada directamente, estas deben ser instancia das en objetos, los cuales
podrn as interactuar con el resto de las aplicaciones.
Es posible pensar en clases como un plano para crear un auto, mientras el objeto
es de hecho el auto en si mismo, ya que se puede crear en una lnea de
produccin. Podramos decir que una clase es una fbrica de objetos.
1.4. Por que objetos
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 5 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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:
Escalabilidad: Capacidad de crecimiento. Que un sistema sea escalable,
significa que esta preparado para poder crecer sin limitaciones ni perjuicios.
En casos de desarrollo corporativos como por ejemplo el de un sistema
bancario, donde constantemente se necesitan agregar nuevos mdulos y
cambios en su comportamiento, es necesario contar con lenguaje de
programacin que permita fcilmente administrar estos tipos de desarrollos
empresariales.
Mantenimiento: Una de las principales caractersticas del paradigma de
objetos, es su capacidad realizar cambios en el programa a muy bajo costo
(esfuerzo del programador). Gracias a una buena organizacin de las clases y
sus herencias es posible hacer pequeos pero importantes cambios que
impacten luego en todas las partes del sistema.
Seguridad: Este paradigma posee lo que se denomina como encapsulamiento
y visibilidad lo cual permite establecer diferentes niveles de seguridad dentro
de un equipo de desarrolladores, organizando el trabajo en equipo y limitando
la posible existencia de errores o incongruencias cometidos por los
programadores.
Reutilizacin: A travs de la correcta utilizacin de jerarqua de clases, y la
redefinicin de funciones polimorfismo, se puede reutilizar un importante
porcentaje de cdigo, evitando escribir subprogramas parecidos dentro de un
mismo desarrollo.
Simplicidad: Cuando el cdigo de un programa desarrollado con lenguaje
estructurado, crece indefinidamente, se llega a un punto donde el mismo se
vuelve confuso y engorroso. El paradigma de objetos provee simplicidad al
poder organizar la complejidad del mismo a travs de su estructura de clases
y objetos.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 6 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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.
2.2. Que es un Objeto Un objeto en OOP es un ente completamente Abstracto que sabe escuchar,
responder, y enviar ciertos mensajes.
Bajando ms a informtica, podemos definir un objeto como un ente
computacional, que est dentro del software, y puede representar o no un ente
de la realidad que est fuera de la computadora.
Por ejemplo, un objeto Persona, o un Usuario, puede representar una persona
real, en el manejo de usuarios de una aplicacin.
Si seguimos con el ejemplo de Persona, una persona puede comer, vestirse,
trasladarse, leer, y muchas cosas ms! Si revisamos la primera definicin, dice
que sabe responder ciertos mensajes entonces, estos son, los mensajes de los
que hablbamos.
Y quin le enva los mensajes?
La respuesta es fcil, otro objetos, recordemos, que en el paradigma de objetos,
slo tenemos objetos y mensajes, y nada ms.
Y que pasa con los nmeros? Tambin son objetos?
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 7 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Va a depender del lenguaje. En principio, en un lenguaje orientado a objetos,
todo debera ser un objeto, pero esto no es tan as, existen algunos lenguajes
que eligen no respetar eso a rajatabla y modelan algunos conceptos muy bsicos
como tipos primitivos, como por ejemplo los nmero, los booleanos, los
caracteres.
2.3. Que es un Mensaje En una aplicacin orientada a objetos, entonces, tenemos objetos que se piden
cosas entre s. Por lo que, un mensaje, es una comunicacin entre dos objetos,
emisor y receptor, donde el emisor le pide algo al receptor, y puede (o no)
obtener algo como respuesta.
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.
2.4. Que es el Comportamiento
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 8 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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.
2.5. Que es un Ambiente Los objetos nacen y mueren, o sea viven. En general nacen porque alguien los
creo quin es ese alguien? un objeto! como todo... y se mueren porque alguien
los destruye, esto tambin depender del lenguaje, pero vamos a hablar de esto
ms adelante.
Los objetos viven dentro de la computadora, en algn lugar determinado, que
es el responsable de contenerlos, manejar su ciclo de vida, dar el contexto para
la creacin y el envo de mensajes.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 9 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
2.6. El Software Orientado a Objetos
Con estos conceptos, podemos decir que es el software. Es el resultado de la
interaccin de un conjunto de objetos que viven en un ambiente y que se
comunican entre s envindose mensajes.
Es importante definir software desde el punto de vista de la programacin
orientada a objetos, ya que esta es la forma que voy a tener de pensar en una
programa, en la construccin de un programa.
Entonces, de ahora en ms, para pensar un programa, tenemos que pensar:
Que objetos vamos a incluir en la aplicacin
Que mensajes va a entender cada objeto
Como van a interactuar los objetos entre s
3. Introduccin al Paradigma de Objetos
3.1. Los Objetos y las Clases En este paradigma todo se lleva a cabo con clases y objetos. Qu es un
objeto? Un objeto es un conjunto de atributos (estado) y operaciones
(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
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 10 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
en general. Por ejemplo si tuviramos la clase Automovil, podramos crear las
instancias (objetos) llamados renault, volkswagen o ford.
Si tenemos una clase CuentaBancaria, podemos tener infinita cantidad de
objetos de CuentaBancaria, pero cada una tendr sus valores individuales,
aunque todas pertenezcan a esta clase.
Decimos que un objeto pertenece a una clase, cuando es una instanciacin de esa
clase; es decir, al crear un objeto de la clase Banco y asignarle el nombre
bancoNacion, el objeto bancoNacion es una instanciacin de Banco.
Continuando con este ejemplo, podramos crear ms instanciaciones de Banco y
asignarles nombres como bancoRio o bancoCityBank, y todos ellos tendran
algo en comn, que pertenecen a la clase Banco, a pesar de que cada objeto
tenga sus distintos valores, como por ejemplo, distinta cantidad de clientes, de
sucursales, etc (representados por los atributos).
A continuacin se muestran algunas clases representadas grficamente:
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 11 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Las clases estn compuestas por atributos y operaciones, y sern presentadas a
continuacin.
3.2. Los Atributos Como mencionamos anteriormente, los atributos son las variables contenidas por
los objetos. Las clases definen los atributos y los objetos los completan. Las
variables de una clase definen las caractersticas de sus objetos, por ejemplo:
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:
En este caso la clase CuentaBancaria cuenta con un atributo saldo.
En resumen, los atributos son las caractersticas de una clase.
3.3. Los Tipos de Dato Podemos encontrar la definicin de atributo, mediante la cual definimos que un
objeto tiene un conjunto de caractersticas que lo describe, y que se definen en
una clase.
Por ejemplo, el atributo nombre, va ser una palabra, es decir, va a ser un String,
de la misma manera, la edad, es un nmero, es decir, va a ser un int.
int y String son tipos. Un tipo es la forma de describir o almacenar un dato.
Cuando decimos que tenemos un dato del tipo int, estamos diciendo que podra
ser cualquier nmero de tipo entero.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 12 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
De la misma manera, un objeto Persona podra tener un atributo Trabajo,
donde trabajo es tambin un objeto con sus propias caractersticas, es decir, el
trabajo podra tener un empleador, un nombre, una ubicacin, etc. De esta
manera, estamos diciendo que Persona, tiene como atributo Trabajo, que ser
de que tipo? De tipo trabajo!
Ac empezamos a ver la potencia de los objetos.
Anteriormente, nosotros trabajbamos con un conjunto acotado de tipos para
las variables (int, String, boolean, etc), ahora, con los objetos, nosotros podemos
crear nuestros propios tipos. Cualquier clase que nosotros creamos, de ahora
en ms, eso va a ser un nuevo tipo con el que podemos trabajar.
De la misma manera si creamos un clase Banco, de ahora en ms vamos a
tener objetos que son instancias de la clase Banco, o tambin podemos decir que
tenemos objetos del tipo Banco.
3.4. Las Operaciones Las operaciones son acciones contenidas por el objeto que definen su
comportamiento.
En este caso hemos agregado dos operaciones a la clase Automovil. Estas
operaciones le permiten acelerar o frenar, como indican sus respectivos nombres
(cuanto ms autoexplicativos sean los nombres, mejor).
Las operaciones son, en el 99% de los casos, verbos.
Las operaciones pueden admitir parmetros. Los parmetros son variables que
utilizar la operacin para generar cierto comportamiento. Las operaciones
acelerar y frenar tienen como parmetros dos valores int (nmeros enteros)
que representan la velocidad y el tiempo que acelerar o frenar.
Las operaciones de una clase CuentaBancaria podran ser las siguientes:
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 13 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Las operaciones depositar y extraer tienen un solo parmetro, este parmetro
representa el monto a extraer o depositar.
En resumen, las operaciones son acciones contenidas por un objeto que definen
su comportamiento.
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 +:
Esto mismo se puede aplicar con la clase CuentaBancaria:
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
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 14 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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.
La clase Automovil posee un atributo privado que representa la velocidad y
posee una operacin pblica que le permite interactuar con otros objetos. Esta
operacin recibe como parmetro un valor que representa la velocidad que se le
quiere asignar a dicho automvil. Si esta operacin recibiera un valor negativo,
podra pasarlo a un nmero positivo, mantener la velocidad anterior o hacer
cualquier otra cosa evitando que aparezcan errores en el objeto por un dato
invlido (velocidad negativa). Si en vez de utilizar un atributo privado y una
operacin pblica, utilizramos directamente un atributo pblico, este tipo de
casos no podran ser manejados y se atentara contra la integridad del objeto.
El ocultamiento puede visualizarse mejor en el siguiente grfico:
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 15 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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:
Para poder modificar al atributo saldo, es necesario hacerlo a travs de las
operaciones depositar() o extraer().
En resumen, el encapsulamiento es la capacidad que tienen las clases de permitir
que ciertos miembros sean accesibles y ciertos miembros no lo sean, y as lograr
ocultar el estado interno de sus instancias.
3.7. Los Constructores Toda clase tiene un constructor. Los constructores son operaciones que son
invocadas al instanciar una clase. Los constructores se encargan de inicializar
atributos y configurar todo lo que sea necesario antes de que comience a existir
el objeto.
Al tratarse de operaciones, los constructores pueden contener cualquier
comportamiento, aunque estas no tengan que ver exactamente con construir el
objeto. Es posible tener ms de un constructor en una misma clase; en este caso,
cada constructor debe aceptar parmetros distintos para poder as distinguirlos.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 16 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Los constructores suelen llamarse con el mismo nombre de las clases, como se
muestra a continuacin:
Por lo tanto la clase Automovil tendr un constructor llamado Automovil(), y
la clase CuentaBancaria tendr un constructor llamado CuentaBancaria(). En
los ejemplos anteriores los constructores no tienen parmetros.
En resumen, un constructor es una operacin que es invocada al instanciar una
clase.
3.8. La Sobrecarga de Operaciones As como es posible tener ms de un constructor (que es una operacin), es
posible tener ms de una operacin con el mismo nombre dentro de la misma
clase. Para poder hacer esto es necesario que se cumplan las mismas condiciones
que para los constructores, es decir, que cada sobrecarga de operacin tenga
distintos tipos de parmetros.
Para qu podra servir tener varias operaciones con el mismo nombre pero con
distintos parmetros? Por ejemplo, si quisiramos crear una operacin llamada
extraer() que extraiga un determinado saldo de una cuenta, podramos querer
utilizarla sin determinar un tipo de moneda (utilizando la moneda del pas como
por defecto), o determinando un tipo de moneda para hacer la extraccin de
ese tipo de moneda (euro, dlar, etc).
La sobrecarga de operaciones nos permite utilizar el mismo nombre de operacin
para dos operaciones distintas, es decir, que aceptan distintos parmetros y
tienen distinta funcionalidad. Sin la existencia de este mecanismo, se debera
crear una operacin distinta por cada versin de nuestra operacin. Sin la
sobrecarga de operaciones, las operaciones estn limitadas a los parmetros de
una sola definicin de operacin.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 17 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Si quisiramos aplicar la sobrecarga de operaciones en una clase Automovil:
La operacin acelerar() tiene dos definiciones, en una acepta como argumento
la cantidad de tiempo que debe acelerar, y en la otra la cantidad de tiempo que
debe acelerar y si el auto utiliza turbo o no, representado por el segundo
parmetro de tipo booleano
En resumen, la sobrecarga de operaciones es la capacidad de poder crear
comportamientos distintos para la misma operacin aceptando distintos tipos de
parmetros.
3.9. Mecanismo de Herencia El mecanismo de herencia es otro de los conceptos clave de la POO, y uno de sus
puntos fuertes. Este mecanismo nos permite que una clase "herede de otra clase"
o "extienda otra clase" recibiendo o heredando todos los atributos y operaciones
de su clase "padre".
En el siguiente diagrama podemos ver como est compuesto un tpico rbol de
herencia simple:
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 18 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 19 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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:
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 20 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
En este diagrama podemos ver a la clase padre Vehiculo y su rbol de herencia.
Por comodidad no hemos colocado las clases hijas de las clases VehiculoAereo y
VehiculoAcuatico. Qu tendran en comn las clases Avion y Motocicleta?
Que ambas clases tienen como superclase a la clase vehculo, es decir, ambas
SON Vehculo.
Es importante destacar que una clase ES UN cualquiera de sus superclases, es
decir: Motocicleta ES UN VehiculoTerrestre y ES UN Vehculo,
Con cada subclase, se amplia la cantidad de elementos de dicha clase con
respecto a sus superclases, volvindola ms especfica. As, por ejemplo, la clase
vehculo hace referencia a cualquier tipo de transporte, en cambio la clase
VehiculoTerrestre hace referencia a cualquier tipo de transporte que se desplace
en un medio slido, y la clase Automovil hace referencia a un tipo de transporte
especfico. Podramos ir ms all en el rbol de herencia y crear clases para cada
modelo de automvil y hacer que extiendan a la clase Automovil.
Otro rbol de herencia podra ser el siguiente:
En este caso, la clase padre es CuentaBancaria y las clases hijas son
CajaDeAhorro y CuentaCorriente, donde CajaDeAhorro ES UNA
CuentaBancaria y CuentaCorriente ES UNA CuentaBancaria
Resumiendo, el mecanismo de herencia es la capacidad que tienen las clases de
recibir el comportamiento (operaciones) y estado (atributos) de otras clases.
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.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 21 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Esto significa que, en una clase padre conceptualmente ms general, al tener un
mtodo al cual le dimos cierto comportamiento bsico, que puede no ser
exactamente lo que debe suceder al invocar ese mtodo desde un objeto
correspondiente a una clase hija, debemos sobrescribir esa operacin en la clase
hija con la funcionalidad o comportamiento apropiado. Si la clase hija no
redefiniera ese comportamiento, el comportamiento sera el mismo de la clase
padre (tras invocar a dicho mtodo).
Por lo cual, tendramos una clase padre con la operacin hacerAlgo que hace x
cosa, y una clase hija con la operacin hacerAlgo que hace y cosa., es decir
que la misma operacin tiene comportamientos distintos segn la clase
En el siguiente caso:
La clase AutomovilDeCarrera debe reemplazar el comportamiento de la
operacin acelerar() heredado de la clase Automovil, ya que el tipo de
aceleracin es completamente distinta. Lo mismo sucede con las siguientes
clases:
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 22 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
En este caso, las operaciones extraer() de ambas clases deben tener
comportamientos distintos debido a que el lmite de dinero a extraer es distinto
en cada clase. La clase CajaDeAhorro no tiene la posibilidad de extraer en
descubierto, sin embargo la clase CajaDeAhorroConDescubierto permite extraer
dinero aun cuando ya no hay mas saldo en la caja. Es decir que ambas clases
permiten extraer dinero pero de formas distintas.
En resumen, el polimorfismo es el mecanismo que permite que un objeto sea
tratado como alguna de sus superclases conservando los miembros de su propia
clase.
3.11. Atributos de Clase Tambin llamados atributos estticos, son atributos que pertenecen a la clase y
no a un objeto o instancia de clase. Esto significa que son atributos compartidos
por todos los objetos.
Por ejemplo en una clase CajaDeAhorroConDescubierto podramos declarar un
atributo esttico llamado descubierto que contenga el valor en pesos de
descubierto que puede brindar esa caja de ahorro a los clientes, es decir, no
necesitamos que cada instancia de CajaDeAhorroConDescubierto almacene un
valor independiente, sino tan solo uno que sirve para todas las instancias. Este es
el tipo de usos que se le da a los atributos estticos.
En el diagrama anterior el atributo descubierto aparece subrayado, esto es lo
que nos indica que es un atributo esttico. Lo mismo sucedera para una clase
Automovil con un atributo esttico velocidadMaxima:
En resumen, los atributos de clase (o estticos) son atributos que existen en la
clase y no en cada uno de los objetos, motivo por el cual son compartidos por
todos los objetos.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 23 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
3.12. Operaciones de Clase Tambin llamadas operaciones estticas, son operaciones que corresponden a la
clase y no a las instancias de dicha clase, es decir a los objetos.
La explicacin es anloga a la presentada en el tema anterior de atributos de
clase.
En los siguientes ejemplos se aplican operaciones estticas:
Se debe observar que en ambas clases se dispone de un atributo esttico y dos
operaciones estticas, y en este caso ambas operaciones estticas se utilizan
modificar los atributos estticos.
En resumen, las operaciones de clase (o estticas) son operaciones que existen
en la clase y no en cada uno de los objetos, motivo por el cual son compartidos
por todos los objetos.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 24 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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:
Es un Lenguaje: est formado por elementos y reglas bien definidas,
que poseen su propia sintaxis y semntica
Esta Unificado: unifica los distintos criterios utilizados antes de su
creacin, es decir que toma las mejores propuestas de herramientas previas
para presentar una propuesta sumamente abarcativa e integradora
Permite Modelar: est basado en la construccin de modelos que
permite representar abstracciones de la realidad.
UML esta estrechamente ligado con el paradigma de objetos, lo que permite
construir sistemas de informacin de una forma mucho mas intuitiva, integrada y
sencilla con el proceso de desarrollo.
UML no es una metodologa que presenta los pasos a seguir para realizar un
desarrollo, sino que es un lenguaje grafico de modelado.
4.2. Como nace UML La historia cuenta que UML da sus primeros pasos con al unin de los tres
amigos: Booch, Rumbaugh y Jacobson.
En los aos 80 cada uno utilizaba un lenguaje propietario aunque como
denominador comn tenan como objetivo el desarrollo de sistemas, con previa
modelizacin. A partir de los aos 90 comienzan a intercambiar ideas para
intentar unificar criterios.
Booch es el fundador de Rational Software Corp, y recluta en el ao 1995 a
Rumbaugh y Jacobson para comenzar a determinar una especificacin genrica,
sencilla y abarcativa.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 25 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
As es como las grandes empresas de tecnologas de informacin entre ellas
Rational - deciden forman un consorcio para la construccin de un Lenguaje
Unificado de Modelado: UML. La primer versin de UML, la 1.0, sale a la luz en el
ao 1997, y a partir de 1998 un organizacin llamada OMG (Object Management
Group) se encargo de generar nuevas revisiones. En el ao 1998 UML se
establece como Standard de facto en la industria del Software.
4.3. Donde se utiliza UML se utiliza dentro del marco de IT, aunque puede utilizarse en proyectos que
no son de tecnologa de la informacin, como ser el modelado de un motor o de
una turbina.
En el campo de IT, se utiliza tanto para sistemas monolticos como para sistemas
distribuidos, abarca desde proyectos pequeos hasta grandes proyectos. Permite
realizar la integracin del software, donde representa el correcto enlace de los
roles para lograr el xito de la constriccin del sistema. En proyectos de software,
es utilizado desde la gestacin hasta la instalacin y el testing.
Si bien para utilizar UML es posible realizar los distintos diagramas con papel y
lpiz, es conveniente contar con alguna herramienta del tipo IDE que facilite su
construccin, correccin e integracin ente diagramas.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 26 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
5. Introduccin a los diagramas de UML
5.1. Introduccin UML esta organizado en una serie de diagramas que tienen objetivos bien
definidos, con una sintaxis y semntica determinada, que intentan representar /
modelar distintas vistas de un sistema.
5.2. Diagrama de Clases El Diagrama de Clases tiene como objetivo describir las clases del dominio y
sus relaciones. Permite modelar la estructura del sistema desde un punto de
vista esttico, modelando las clases desde distintos enfoques de acuerdo a la
etapa del proyecto.
Esta compuesto por clases, relaciones entre clases y opcionalmente los paquetes
que agrupan a las clases.
5.3. Diagrama de Objetos El Diagrama de Objetos tiene como objetivo describir los objetos del dominio
y sus relaciones. Permite representar al sistema en un momento determinado
del tiempo, es proporcional a obtener una fotografa o snapshot del sistema en un
momento determinado.
Esta compuesto por objetos y relaciones de enlace. Tambin es posible pensarlo
como una instancia de un Diagrama de Clases.
5.4. Diagrama de Casos de Uso El Diagrama de Casos de Uso tiene como objetivo describir las acciones del
sistema desde el punto de vista del usuario. Representa las formas que tiene
un usuario de utilizar un sistema, y se puede utilizar como un contrato entre
cliente y proveedor de software para determinar la funcionalidad del sistema, es
decir los requisitos funcionales.
Esta compuesto por actores (agentes externos al sistemas, pueden ser usuarios u
otros sistemas), casos de uso y distintos tipos de relaciones. Es posible construir
diagramas con diferentes niveles de detalle.
5.5. Diagrama de Estados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 27 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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.
5.6. Diagrama de Actividades El Diagrama de Actividades tiene como objetivo describir las acciones que
ocurren dentro de un proceso. Se utiliza principalmente para modelar flujo de
trabajo o workflow, con lo cual visualiza las acciones de manera ordenada.
Esta compuesto por acciones simples y concurrentes, y transiciones entre las
acciones.
5.7. Diagrama de Comunicacin El Diagrama de Comunicacin tiene como objetivo describir como colaboran o
se comunican los distintos objetos entre s para conseguir un objetivo. Se
lo suele llamar tambin Diagrama de Colaboracin. Es posible verlo como una
extensin del Diagrama de Objetos, ya que es muy parecido pero tiene como
valor agregado los mensajes que se envan entre los objetos.
Esta compuesto por objetos, relaciones de enlace y relaciones del tipo llamadas,
representando que objeto se comunica con que otro.
Es semnticamente equivalente al Diagrama de Secuencia.
5.8. Diagrama de Secuencia El Diagrama de Secuencia tiene como objetivo describir como colaboran los
distintos objetos entre s para conseguir un objetivo a lo largo del
tiempo. Esta directamente relacionado con el Diagrama de Comunicacin ya que
el objetivo es el mismo, pero tiene la particularidad de estar obligatoriamente
ordenado en el tiempo.
Esta compuesto por objetos y relaciones del tipo llamadas, representando que
objeto se comunica con que otro.
Es semnticamente equivalente al Diagrama de Comunicacin.
5.9. Diagrama de Componentes
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 28 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
El Diagrama de Componentes tiene como objetivo describir la relacin que
existe entre los distintos componentes del sistema. Esta directamente
vinculado con el diseo del sistema, permitiendo modelar las relaciones e
interfaces que existen entre los componentes. Est orientado a la implementacin
del sistema.
Esta compuesto por componentes, interfaces y sus relaciones.
5.10. Diagrama de Despliegue El Diagrama de Despliegue tiene como objetivo describir la arquitectura de un
sistema. Es posible representar la arquitectura desde el punto de vista lgico,
basndose en la organizacin del software, o desde una punto de vista fsico,
representando directamente cada unidad de hardware.
Esta compuesto por nodos, componentes y sus relaciones.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 29 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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.
6.2. Diagramas Estticos Los Diagramas Estticos son aquellos que no tienen ninguna relacin con el
tiempo. Generalmente representan a estructuras o a posibles acciones pero sin
una relacin directa con el tiempo.
Estos diagramas son:
Diagrama de Clases
Diagrama de Objetos
Diagrama de Casos de Uso
Diagrama de Componentes
Diagrama de Despliegue
6.3. Diagramas Dinmicos Los Diagramas Dinmicos son aquellos que tienen relacin con el tiempo. Estn
directamente vinculados con acciones que ocurren bajo cierta secuencia, es decir
primero una accin, luego otra, y as sucesivamente.
Estos diagramas son:
Diagrama de Actividades
Diagramas de Interaccin (es una subcategora, que incluye a los
Diagramas de Secuencia y Comunicacin)
Diagrama de Estado
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 30 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
6.4. Diagramas Estructurales Los Diagramas Estructurales son aquellos que reflejan relaciones estticas de
una estructura.
Estos diagramas son:
Diagrama de Clases
Diagrama de Objetos
Diagrama de Componentes
Diagrama de Despliegue
6.5. Diagramas de Comportamiento Los Diagramas de Comportamiento son aquellos que reflejan caractersticas
de comportamiento del sistema o modelan procesos de negocios.
Estos diagramas son:
Diagrama de Casos de Uso
Diagrama de Comunicacin
Diagrama de Secuencia
Diagrama de Actividades
Diagrama de Estados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 31 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
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.
7.2. Caso de Estudio BancoMax es el primer banco privado del sistema financiero argentino en ahorro
(depsitos ms fondos comunes) y en volumen de crdito. La entidad cuenta con
276 sucursales, ms de 2 millones de clientes (entre ellos ms de 100 mil PyMEs
y aproximadamente 1.100 empresas corporativas), tiene presencia en 20
provincias y en la Ciudad Autnoma de Buenos Aires. Es uno de los bancos lderes
en medios de pago, en comercio exterior, servicios transaccionales y cash
management a travs de la gestin de cuentas comerciales de caja de ahorro y
cuentas corrientes. Y tambin uno de los principales protagonistas en los
mercados burstiles, de ttulos pblicos y cambiarios.
El Banco desarrolla asimismo un amplio programa de responsabilidad social
corporativa, focalizado en la educacin superior y que incluye tambin proyectos
para generacin de empleo. Estas acciones estn en lnea con lo que BancoMax
realiza en las comunidades en donde est presente.
De acuerdo a su estructura de organizacin, BancoMax cuenta con una jerarqua
bien definida de cadena de mando, con un director general, un director por regin
y un director responsable de cada sucursal.
BancoMax integra una amplia red de servicios financieros internacionales que
brinda el Grupo BancoMaxGroup. Las capacidades internacionales han llevado a
BancoMax a ocupar tambin una posicin de liderazgo en el Reino Unido y
Latinoamrica. Es uno de los principales grupos financieros del mundo, logrando
este lugar gracias a su calidad de servicios, innovacin, dinamismo, disciplina y
visin global. Con ms de 11.000 sucursales, BancoMax es el grupo financiero
con ms sucursales en todo el mundo.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 32 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
7.3. Ejercicio #1 Deteccin de Clases Identificar las clases iniciales y necesarias para construir un sistema de gestin
bancaria
TIP: las clases se detectan como sustantivos en singular
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 33 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
7.4. Ejercicio #2 Deteccin de Atributos A partir de las clases detectadas en el ejercicio anterior, identificar los atributos
que consideres necesarios en cada clase. Cada atributo deber tener establecido
un tipo de dato. Se requiere identificar al menos tres atributos por clase.
Los tipos de datos a utilizar para este ejercicio son: String, int, long, float,
double, Date
TIP: los atributos son caractersticas de una clase
Pregunta: en que clase ubicaras los siguientes atributos?
cantidadDeEmpleados
numeroDeCuenta
edad
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 34 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
7.5. Ejercicio #3 Deteccin de Operaciones A partir de las clases y los atributos detectados en los ejercicios anteriores,
identificar al menos dos operaciones que realiza cada clase.
Tip: las operaciones son verbos
Pregunta: en que clase ubicaras las siguientes operaciones ?
informarSaldo()
informarSucursales()
informarClientes()
depositarDinero(monto)
informarDatosDeCuenta(nroDeCuenta)
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 35 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
7.6. Ejercicio #4 Relaciones Simples A partir de las clases detectadas previamente, identifique las relaciones simples
que existen entre las mismas.
Para este ejercicio, asumiremos que cada cliente puede tener una nica cuenta.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 36 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
7.7. Ejercicio #5 Relaciones Mltiples A partir de las clases detectadas previamente, identifique las relaciones mltiples
que existen entre las mismas.
Para este ejercicio, asumiremos que un cliente corporativo puede tener ms de
una cuenta corriente.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 37 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
7.8. Ejercicio #6 Uso de Objetos Asumiendo que un cliente individual utiliza el cajero automtico para realizar un
depsito de $2500, ingresa su DNI nmero 27.014.589 como pin y realiza el
depsito.
El cdigo que respalda las siguientes operaciones es el siguiente:
ClienteIndividuo c = ClienteIndividuo(27014589);
CajaDeAhorro cda = c.obtenerCajaDeAhorro();
cda.depositar(2500);
Suponiendo ahora que un cliente corporativo desea realizar una extraccin de
una cuenta corriente, teniendo en cuenta los siguientes datos:
el cuit de la empresa es 30-12345678-1
desea extraer $20.000
en la cuenta hay disponible $18.000
el giro en descubierto es de $5.000
TIP: el giro en descubierto es el monto mximo que el banco le presta al cliente
en caso de que el saldo en su cuenta sea cero. Es decir que si el cliente no tiene
fondos en la cuenta, y desea realizar una extraccin o un pago, puede utilizar
automticamente hasta $5.000
Realizar el cdigo en forma genrica utilizando las clases Programa,
ClienteCorporativo y CuentaCorriente.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 38 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
7.9. Ejercicio #7 Herencia A partir de las clases detectadas previamente, identificar las relaciones de
herencia que existen.
Si consideras til y/o necesario, puedes proponer nuevas clases.
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 39 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
8. Diapositivas
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 40 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 41 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 42 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 43 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 44 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 45 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 46 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 47 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 48 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 49 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 50 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 51 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 52 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 53 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 54 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 55 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 56 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 57 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 58 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 59 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 60 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 61 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 62 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 63 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 64 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 65 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 66 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 67 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 68 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 69 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 70 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 71 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 72 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 73 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 74 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 75 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 76 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 77 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 78 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 79 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 80 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 81 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 82 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 83 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 84 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 85 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 86 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 87 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 88 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 89 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 90 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 91 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 92 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 93 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 94 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 95 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 96 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 97 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 98 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 99 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 100 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 101 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 102 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 103 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 104 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 105 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 106 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 107 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados
Introduccin al Paradigma de Objetos
www.educacionIT.com.ar | Tel. (54) (011) 4328-0457 Pgina 108 Lavalle 648 8vo Piso Capital Federal Copyright 2011-Actualidad, educacionIT. Todos los derechos estn reservados