Vous êtes sur la page 1sur 16

Programacin IV

Tema 4

Objeto, Clase, UML y Java: un sentido prctico Objeto


En el paradigma orientado a objeto, los objetos son los elementos primarios utilizados para construir programas. Dichos objetos son abstracciones de alguna entidad del mundo real, ya sea tangible o no, circunscripta al dominio del problema a resolver (espacio del problema). Al hablar de abstraccin se hace referencia al hecho de aislar los aspectos relevantes, en un determinado contexto, descartando los detalles que no son significativos. Para pasar del problema al espacio de la solucin (resolver el problema en cuestin) en el paradigma OO solo se cuenta con objetos, que se comportan de una determinada manera, definida por sus mtodos, e interactan entre ellos envindose mensajes. Este es el concepto bsico de la POO. Un objeto es una entidad que queda caracterizada por: o su estado interno: representado por un conjunto de variables de instancia (v.i.), conocidas tambin como atributos, que toman valores particulares en un determinado momento, representando las caractersticas intrnsecas de una entidad particular. Estas variables se utilizan para representar aquellas caractersticas propias del objeto (como puede ser el nmero de una cuenta bancaria) y a los objetos con los que deber colaborar a lo largo de su vida (por ejemplo un titular). Esto es una relacin de conocimiento o su comportamiento: el cual est dado por los mensajes a los que puede responder. El comportamiento del objeto puede verse como los servicios que presta, su utilidad. Esto determina para qu existe. Por ejemplo, la administracin de una cuenta bancaria, representada por los mtodos extraer, depositar, consultar saldo, etc. o una identidad: ni un objeto es idntico a otro, incluso aunque tengan los mismos valores en sus atributos. Por ejemplo, dos titulares tendrn distinta identidad, a pesar de llamarse ambos Juan. Otra de las propiedades importantes de los objetos es el encapsulamiento, que asegura que un objeto no puede invadir el espacio privado (estado interno) de otro objeto. Es el propio objeto el nico que puede manipular su estado interno, es decir, ver o modificar los valores de sus atributos.

Comportamiento: Qu hace?
El comportamiento indica qu sabe hacer el objeto, es decir cules son sus responsabilidades. El comportamiento se especifica a travs del conjunto de mensajes que el objeto sabe responder. Un objeto se define en trminos de su comportamiento, por lo que al modelar con objetos lo primero que se debe establecer es qu sabe hacer cada objeto. El objeto debe verse como una entidad activa, con la capacidad de llevar tareas adelante. Adems, se debe tener en cuenta que para llevar a cabo su trabajo, un objeto puede colaborar con otros objetos. Tambin debe quedar claro que nada impide que distintos objetos puedan tener el mismo comportamiento: slo basta con que entiendan los mismos mensajes. Comnmente al conjunto de mensajes que un objeto puede entender se lo denomina protocolo.

Comportamiento: Cmo lo hace?


La implementacin de un objeto indica cmo hace el objeto para responder a los mensajes que recibe. La misma se especifica a travs de un conjunto de mtodos y un conjunto de colaboradores. La encapsulacin tambin alcanza a la implementacin del objeto. En efecto, esta es privada. Solamente el propio objeto puede accederla de manera directa.

Licenciatura en Sistemas de Informacin

Prof. Cristina Greiner

Programacin IV

Tema 4

Hay que tener en cuenta que la implementacin no es esttica, sino que puede cambiar a lo largo del tiempo. Esto significa que el conjunto de mtodos y colaboradores puede cambiar dinmicamente, aunque idealmente esto no debera ocurrir si las entidades estn correctamente definidas.

Implementacin: mtodo vs. mensaje


Cuando un objeto enva un mensaje a otro, el objeto receptor responde activando el mtodo asociado a ese mensaje. Bsicamente un mtodo es la implementacin asociada a un mensaje. Una vez definido el protocolo de un objeto (qu es lo que va a hacer, cuales son sus responsabilidades), es necesario especificar cmo va a llevar a cabo sus responsabilidades y esto se hace por medio de los mtodos.

El estado interno
El estado interno es el conjunto de atributos de un objeto, representado por un conjunto de variables de instancia. Dichas variables de instancia acompaan al objeto durante todo su ciclo de vida. Una variable de instancia puede hacer referencia a una propiedad intrnseca del objeto que representa, o bien a otro objeto que colabora con el objeto primario para que ste lleve a cabo sus responsabilidades. A lo largo de la vida del objeto, las propiedades y colaboradores pueden cambiar. Por ejemplo, al depositar $100 en una cuenta bancaria la variable de instancia saldo cambiar su valor. Este estado interno es privado del objeto. Es una de las caractersticas fundamentales del paradigma, y resulta crucial para lograr software escalable. Por definicin, las variables de instancia (estructura interna) de un objeto son privadas a ste. El nico que puede acceder y manipular sus v.i. es el propio objeto. Si un objeto externo quiere acceder a una v.i. lo tiene que hacer por medio del envo de un mensaje. Esto le da la posibilidad al objeto de decidir qu es lo que quiere publicar, o cmo quiere hacerlo. En la siguiente figura puede observarse un ejemplo concreto: un objeto Caja de Ahorro, cuyo estado interno queda representado por sus v.i.: toma un valor particular en el caso del saldo, e indica una relacin de conocimiento con el objeto Persona, que colabora con l a travs de la variable titular. A su vez puede determinarse el comportamiento (qu hace el objeto), a travs del conjunto de mtodos (depositar(), extraer(), saldo(), etc), que responde a sendos mensajes. Atencin: No se debe confundir el atributo saldo con el mtodo saldo().

Licenciatura en Sistemas de Informacin

Prof. Cristina Greiner

Programacin IV

Tema 4

Envo de mensajes
Para poder enviarle un mensaje a un objeto, hay que conocerlo. Esto significa que debe haber una relacin entre ellos. El objeto receptor responde en forma activa, ejecutando el mtodo asociado al mensaje, siempre y cuando ste exista. Como resultado del envo de un mensaje, siempre se retorna un objeto. El mtodo, es decir la implementacin (el cdigo), especifica qu hace el objeto receptor al recibir el mensaje. Cuando un objeto (emisor) le enva un mensaje a otro objeto (receptor), el objeto receptor responde activando el mtodo asociado a este mensaje, siempre que el mensaje recibido forme parte del protocolo del objeto receptor. Caso contrario, pueden darse distintas situaciones, dependiendo del lenguaje: algunos lenguajes pueden evitar esta situacin mediante un sistema de tipos fuerte que chequee estas situaciones en tiempo de compilacin, mientras que otros brindan una mayor libertad en cuanto al envo de mensajes y responden, eventualmente, con un error en tiempo de ejecucin.

Formato de mensajes
Tpicamente un mensaje tiene un nombre, que se recomienda tenga significado en el dominio del problema, dado que esto facilita el futuro entendimiento del sistema. Puede o no tener parmetros, y se invoca sobre un objeto. Los distintos lenguajes de programacin orientados a objeto proponen una sintaxis particular para indicar el envo de un mensaje. El formato aceptado habitualmente es el siguiente: Ejemplo: objeto_receptor.nombre_de_mensaje(parmetros); unaCuenta.depositar(100);

Licenciatura en Sistemas de Informacin

Prof. Cristina Greiner

Programacin IV

Tema 4

Mtodos
Un mtodo es la contraparte funcional del mensaje. Por cada mensaje definido como parte del protocolo de un objeto, debe existir un mtodo asociado que exprese la forma de llevar a cabo la tarea solicitada por dicho mensaje, es decir, cmo se hace. El cmo en un mtodo puede implicar bsicamente tres cosas: 1) Modificar el estado del objeto. Esto implica asignar a una v.i. un valor distinto al que tiene. Por ejemplo, en el caso que la cuenta bancaria conociera a su titular, se podra tener un mtodo del estilo: asignarTitular(unaPersona){ titular := unaPersona; } 2) Colaborar con otros objetos. En la mayora de los casos, para llevar a cabo una determinada responsabilidad, el objeto necesita colaborar con otros objetos. Supongamos que, para alquilar una pelcula es necesario saber si el usuario no es deudor. Luego, el mtodo alquilar en el objeto videoClub sera algo de la forma: alquilar(unaPelicula, unCliente){ if (unCliente.esDeudor()) { System.out.println(Error); } else { unaPelicula.alquilarA(unCliente) } En este caso el video club bsicamente funciona como un coordinador de comportamiento del cliente y de la pelcula. 3) Retornar y terminar. Por ltimo, en un mtodo se puede optar por retornar un resultado. Por ejemplo, en el caso de la cuenta bancaria es lgico que le podamos pedir el saldo: double saldo(){ return saldo; }

Un objeto emisor le enva el mensaje saldo() a un objeto Caja de Ahorro

El objeto receptor procede con la activacin del mtodo saldo() y con su ejecucin.

Licenciatura en Sistemas de Informacin

Prof. Cristina Greiner

Programacin IV

Tema 4

El mtodo simplemente retorna el saldo actual de la caja de ahorro (el nmero 600)

Ese valor es el resultado que el emisor obtiene en respuesta al envo del mensaje saldo()

Especificacin de un mtodo
Cada lenguaje de programacin propone su propio modo de especificar un mtodo. Particularmente en Java se utiliza el siguiente (bsico, no completo):
/** Breve comentario del mtodo. * @param tipo_dato parametro1, tipo_dato parametro2. * @return Devuelve una variable de tipo tipo_retorno * @throws No dispara ninguna excepcion. */ tipo_retorno nombreMensaje(tipo_dato parametro1, tipo_dato parametro2){ tipo_dato temp1; tipo_dato temp2; varDeInstancia = parametro1; temp1 = parametro2; temp2 = temp1.unMensaje(parametro1); return temp2; }

La cebecera del mtodo, incluidos los parmetros, recibe el nombre de firma (signature en ingles). Ejemplo: implementacin del mtodo depositar() del objeto caja de ahorro.
/** Agrega unMonto al saldo actual de la cuenta. * @param double unMonto. * @return No devuelve ningn valor. * @throws No dispara ninguna excepcion. */ public void depositar(double unMonto){ saldo = saldo + unMonto; }

Observadores y Mutadores (geters y seter`s)


Dado que el estado de los objetos es privado, se debe proveer el mecanismo para que los dems objetos puedan acceder a sus atributos, de modo consistente. Para ello se utiliza lo que se conoce como observadores (geters), que solo muestran sus atributos, sin modificarlos, y los mutadores (seters), que asignan valores o modifican los atributos. Estos no son nombres obligatorios. Solo son utilizados por su significado: get=obtener, set=asignar.

Licenciatura en Sistemas de Informacin

Prof. Cristina Greiner

Programacin IV
Por ejemplo, si se desea obtener el saldo de una caja de ahorro, se escribir lo siguiente:
/** Retorna el saldo actual de la cuenta. * @return Un valor de tipo double. * @throws No dispara ninguna excepcion. */ double getSaldo(){ return saldo; }

Tema 4

En el caso de querer asignar un monto particular al saldo, se proceder de la siguiente manera:


/** Asigna unMonto al saldo actual de la cuenta. * @param double unMonto. * @return No devuelve ningn valor. * @throws No dispara ninguna excepcion. */ void setSaldo(double unMonto){ saldo = unMonto; }

Objeto y Clase
Una clase representa otro nivel de abstraccin. Segn lo expresado, un objeto es una abstraccin de una entidad del modelo del dominio. Dado que generalmente en el dominio del problema aparece un conjunto de objetos que se comportan en forma similar, surge la necesidad de encontrar una forma de definir el comportamiento de todos los objetos en forma general. Por ejemplo, si el objeto que se est analizando es una caja de ahorro, es evidente que en un banco habr miles de objetos de este tipo, uno por cada caja de ahorro existente en el banco. Se puede afirmar que todos estos objetos tendrn el mismo comportamiento, y si hay algn cambio (por ejemplo, el inters devuelto), el mismo se reflejar en todos los objetos de este tipo. Esto lleva a pensar que sera til algn mecanismo que permita agrupar el comportamiento comn a un conjunto de objetos, de manera que pueda ser reutilizado sin tener que ser especificado individualmente. Por otra parte, el estado interno de cada caja de ahorro ser diferente (por ejemplo, tendrn distinto saldo), pero todas compartirn la misma estructura interna (todas conocen su saldo, titular, etc.). Desde el punto de vista de la reutilizacin, es as como surge la nocin de clase: como una herramienta que permite factorizar y reutilizar estructura y comportamiento en comn. Por este motivo, aparece la nocin de clase Caja de Ahorro, la cual se utiliza para describir el comportamiento de todas y cada una de sus ocurrencias (instancias). Cada objeto es un elemento nico de la clase en la que se basa. Una clase es como un molde de un tipo especfico de objeto, por lo tanto un objeto es lo que se crea a partir del molde. La ventaja que representa una clase est en que permite describir en un slo lugar el comportamiento genrico de un conjunto de objetos. Una vez definido este comportamiento, es posible crear objetos que lo reutilicen y se comporten de la manera all descripta. Como definicin de clase se puede tomar la siguiente: Una clase es una descripcin abstracta de un conjunto de objetos. Una clase especifica qu forma tendrn sus instancias (sus variables de instancia) y cmo respondern a los mensajes que se le enven. De esta forma, una clase puede ser vista como una descripcin de sus instancias y como un repositorio de comportamiento. Cuando se le enva un mensaje a un objeto, lo que hace el intrprete es buscar en la clase del objeto receptor un mtodo con el cual responder al envo del mensaje. De sta forma, todos los objetos que comparten una misma clase responden en forma similar al envo de un mensaje. En el caso de la cuenta bancaria, dado que en un banco habr miles de cuentas, lo que se hace es modelar la nocin de cuenta bancaria en una clase. Esta clase definir qu variables tendrn sus instancias, as como los mensajes a los que puede responder. Por ejemplo, la clase se puede llamar CuentaBancaria, y especificar que sus instancias (cada caja de ahorro particular) tiene dos variables (saldo y titular) y que puede responder a los mensajes saldo(), titular(), depositar(unMonto) y extraer(unMonto).

Licenciatura en Sistemas de Informacin

Prof. Cristina Greiner

Programacin IV

Tema 4

Dado que las clases son las encargadas de describir a sus instancias, ante la necesidad de crear una nueva instancia, lo lgico es pedrselo a la clase. Por ese motivo, la clase tiene la responsabilidad de crear sus instancias. Por ejemplo, para crear una nueva cuenta bancaria, se debe pedir a la clase CuentaBancaria que retorne una nueva instancia. Es frecuente la confusin entre clases e instancias. Es importante remarcar que una clase es un molde de estructura y comportamiento, as como la encargada de crear a sus instancias. Una vez que se crea una instancia, esta tiene sus propias variables. Por ejemplo, al crear dos cuentas bancarias, cada una tendr su saldo y su titular. Lo nico que comparten es que ambas son instancia de la misma clase, lo que implica que al enviarles un mensaje, el mtodo que se activar se buscar en la clase CuentaBancaria, que es comn a las dos.

En la figura puede observarse una clase CajaDeAhorro, que define el comportamiento y la estructura comn a todas sus instancias. Una CajaDeAhorro sabr extraer(unMonto) de su saldo, depositar(unMonto) y devolver su saldo actual. Adems deber colaborar con un objeto que cumplir el rol de titular de la cuenta. Se observan dos instancias de CajaDeAhorro, cada una con su propio estado interno. Las dos instancias de la clase CajaDeAhorro comparten el mismo comportamiento, definido en la propia clase. Esto evita la repeticin de los mtodos en cada objeto.

Clase y UML
Las clases se especifican por medio de un nombre, la estructura interna que tendrn sus instancias y los mensajes y mtodos asociados que definen su comportamiento. El nombre debe comenzar con mayscula y no contener espacios. Las variables de instancia (v.i.) representan el estado o estructura interna de las instancias de la clase. Por ltimo, se detalla el conjunto de mensajes que entender una instancia de dicha clase, tambin llamado protocolo. La representacin grfica de una clase, utilizando una versin simplificada del lenguaje UML es:

Licenciatura en Sistemas de Informacin

Prof. Cristina Greiner

Programacin IV

Tema 4

Envo de mensajes con Clases


Segn lo visto, ante le envo de un mensaje, un objeto buscaba entre sus mtodos aqul que correspondiera con el mensaje en cuestin para proceder con la activacin del mismo. Al aparecer el concepto de clases como repositorio de comportamiento, la bsqueda del mtodo asociado a un mensaje ya no ser plena responsabilidad de las instancias, sino que este trabajo ser delegado a las clases. En el ejemplo se puede ver cmo el objeto unaCajaDeAhorro delega la bsqueda del mtodo a su clase (CajaDeAhorro) ante la recepcin del mensaje depositar(unMonto). La clase buscar entre su coleccin de mtodos aqul que corresponda con el mensaje depositar(unMonto) y se proceder a ejecutar el mtodo en el contexto del objeto receptor del mensaje (unaCajaDeAhorro).

Atributos y Mensajes de Clase


Los mensajes que se le envan a una clase se denominan mensajes de clase y slo pueden ser enviados a la clase, no a sus instancias.

Licenciatura en Sistemas de Informacin

Prof. Cristina Greiner

Programacin IV

Tema 4

En lenguajes como Java o C++ existe la nocin de mtodos static, que indican que son mensajes de clase. Atributos y mensajes estticos se representan en UML con el nombre subrayado.
Atributos estticos

Un atributo esttico es una variable miembro que no se asocia a un objeto (instancia) de una clase, sino que se asocia a la clase misma; no hay una copia del dato para cada objeto sino una sola copia que es compartida por todos los objetos de la clase. Por ejemplo:

class Punto { private int x , y ; static int numPuntos = 0; Punto ( int a , int b ) { x = a ; y = b; numPuntos ++ ; } }
En el ejemplo numPuntos es un contador que se incrementa cada vez que se crea una instancia de la clase Punto. Para declararlo, se coloca el modificador static delante del tipo. El acceso a las variables estticas desde fuera de la clase donde se definen se raliza a travs del nombre de la clase y no del nombre del objeto como sucede con las variables miembro normales (no estticas). En el ejemplo anterior puede escribirse:

int x = Punto.numPuntos;
No obstante tambin es posible acceder a las variables estticas a travs de una referencia a un objeto de la clase. Por ejemplo:

Punto p = new Punto(); int x = p.numPuntos;


Las variables estticas de una clase existen, se inicializan y pueden usarse antes de que se cree ningn objeto de la clase. Esto no es as con los atributos de un objeto. No pueden usarse antes de crear una instancia.
Mtodos estticos

Para los mtodos, la idea es la misma que para los atributos: los mtodos estticos se asocian a una clase, no a una instancia. Por ejemplo:

class Punto { private int x , y ; static int numPuntos = 0; Punto ( int a , int b ) { x = a ; y = b; numPuntos ++ ; } static int cuantosPuntos() { return numPuntos; } }

Licenciatura en Sistemas de Informacin

Prof. Cristina Greiner

Programacin IV

Tema 4

El acceso a los mtodos estticos se hace igual que a los atributos estticos, es decir, usando el nombre de la clase, en lugar de usar una referencia:

int totalPuntos = Punto.cuantosPuntos();


Dado que los mtodos estticos tienen sentido a nivel de clase y no a nivel de objeto (instancia) los mtodos estticos no pueden acceder a variables miembros ni a mtodos que no sean estticos.

Formas de conocimiento
A la hora de programar existen diversas formas de conocimiento. No se debe olvidar que, para que un objeto le enve un mensaje a otro debe conocerlo, o sea, nombrarlo. Se dice que se establece una ligadura (binding) entre un nombre y un objeto. Una forma de conocerse entre objetos es mediante una variable de instancia. En UML esto se representara del siguiente modo:
CajaAhorro - saldo: double titular Persona - nombre: string

La seudo variable: this/self


As como un objeto necesita conocer a otro objeto para enviarle un mensaje, es necesario que tenga una forma de nombrarse a si mismo para poder enviarse mensajes. Este autoreferenciamiento se hace por medio de una seudo-variable, que toma distintos nombres en los lenguajes de programacin. En algunos casos es self, y en el caso de Java, C# y C++ es this. Se dice que es una seudo-variable ya que funciona similar a una variable de instancia, excepto por dos motivos: no est definida en ninguna clase y no pude ser asignada. this es una referencia implcita que tienen todos los objetos y que apunta a si mismo. Por ejemplo:

class Circulo { Punto centro; int radio; . . . Circulo elMayor(Circulo c) { if (radio > c.radio) return this; else return c; } }
El mtodo elMayor() devuelve una referencia al crculo que tiene mayor radio, comparando los radios del Circulo c que se recibe como argumento y el propio. En caso de que el propio resulte mayor el mtodo debe devolver una referencia a si mismo. Esto se consigue con la expresin return this.

Integrando conceptos

Licenciatura en Sistemas de Informacin

10

Prof. Cristina Greiner

Programacin IV
Diagrama de Clases en UML:
CajaAhorro Titular - numero: int - saldo: double - numCajas: int + numero(): int + saldo(): double + saldo(double) + titular(): Persona + depositar(double) + cuantasCajas(): int + mostrar() titular Persona - dni: int - nombre: string + dni(): int + nombre(): string + mostrar()

Tema 4
Generar en java las clases representadas en UML, con sus respectivos constructores y mtodos de acceso a sus variables privadas. Generar adems una clase que permita crear una caja de ahorro para Mara Gonzales, cuyo DNI es 25.132.456, con un saldo inicial de $1000, y otra para Juan Dominguez, DNI 17.425.236, sin saldo inicial. Luego mostrar en pantalla el titular con su saldo.

1. Generar la clase Persona


public class Persona{ private int dni; private String nombre; public Persona(int numDni, String nom){ dni = numDni; nombre = nom; } public void setDni(int numDni){ dni = numDni; } public int getDni(){ return dni; } public void setNombre(String nom){ nombre = nom; } public int getNombre(){ return nombre; } public void mostrar(){ System.out.println("***** metodo mostrar() de Persona System.out.println("DNI: " + this.getDni()); System.out.println("Nombre: " + this.getNombre()); } } // fin clase Persona *****");

2. Generar la clase CajaAhorro


/** Permite crear y manipular una cuenta de caja de ahorro. * @author Juan Perez * @version 1 */ public class CajaAhorro{ private int numero; private double saldo; private Persona titular;

Licenciatura en Sistemas de Informacin

11

Prof. Cristina Greiner

Programacin IV
private static int numCajas = 0; public CajaAhorro( Persona t ) { titular = t; saldo = 0; numCajas ++ ; numero = numCajas; } public CajaAhorro( Persona t , double s) { titular = t; saldo = s; numCajas ++ ; numero = numCajas; } /** Retorna el numero de la cuenta. * @return Un valor de tipo int. * @throws No dispara ninguna excepcion. */ public int numero(){ return numero; } /** Retorna el titular de la cuenta. * @return Un objeto de tipo Persona. * @throws No dispara ninguna excepcion. */ public Persona titular(){ return titular; } /** Retorna el saldo actual de la cuenta. * @return Un valor de tipo double. * @throws No dispara ninguna excepcion. */ public double saldo(){ return saldo; } /** Asigna unMonto al saldo actual de la cuenta. * @param double unMonto. * @return No devuelve ningn valor. * @throws No dispara ninguna excepcion. */ public void saldo(double unMonto){ saldo = unMonto; } /** Agrega unMonto al saldo actual de la cuenta. * @param double unMonto. * @return No devuelve ningn valor. * @throws No dispara ninguna excepcion. */ public void depositar(double unMonto){ saldo = saldo + unMonto; } /** Devuelve el nmero de cajas de ahorro creadas. * @return devuelve un entero. * @throws No dispara ninguna excepcion.

Tema 4

Licenciatura en Sistemas de Informacin

12

Prof. Cristina Greiner

Programacin IV
*/ public static int cuantasCajas() { return numCajas; } public void mostrar(){ System.out.println("\n" + "**** metodo mostrar() de CajaAhorro titular.mostrar(); System.out.println("Numero de cuenta: " + this.numero()); System.out.println("Saldo: " + this.saldo()); } } // fin clase CajaAhorro

Tema 4

****");

3. Generar una clase de Proceso


public class ProcesoCajaAhorro{ public static void main(String arg []){ Persona p1 = new Persona(25132456, "Maria Gonzales"); Persona p2 = new Persona(17425236, "Juan Dominguez"); CajaAhorro c1 = new CajaAhorro(p1, 1000); CajaAhorro c2= new CajaAhorro(p2); System.out.println("se crearon: " + CajaAhorro.cuantasCajas() + " cajas); c1.depositar(200); c2.saldo(500); c2.depositar(300); p1.mostrar(); c1.mostrar(); c2.mostrar(); } } // fin clase ProcesoCajaAhorro

4. Resultado de la ejecucin se crearon: 2 cajas --------- metodo mostrar() de Persona ----------DNI: 25132456 Nombre: Maria Gonzales ********* metodo mostrar() de CajaAhorro ******** --------- metodo mostrar() de Persona ----------DNI: 25132456 Nombre: Maria Gonzales Numero de cuenta: 1 Saldo: 1200.0 ********* metodo mostrar() de CajaAhorro ******** --------- metodo mostrar() de Persona ----------DNI: 17425236 Nombre: Juan Dominguez Numero de cuenta: 2 Saldo: 800.0 5. Generacin documentacin

Class CajaAhorro
java.lang.Object

Licenciatura en Sistemas de Informacin

13

Prof. Cristina Greiner

Programacin IV

Tema 4

CajaAhorro

public class CajaAhorro extends java.lang.Object Permite crear y manipular una cuenta de caja de ahorro. Version: 1 Author: Juan Perez

Constructor Summary
CajaAhorro (Persona t) CajaAhorro(Persona t, double s)

Method Summary
static int cuantasCajas ()

Devuelve el nmero de cas de ahorro creadas. Agrega unMonto al saldo actual de la cuenta.

void depositar (double unMonto) void mostrar () int numero () double saldo ()

Retorna el numero de la cuenta. Retorna el saldo actual de la cuenta. Asigna unMonto al saldo actual de la cuenta. Retorna el titular de la cuenta.

void saldo (double unMonto) Persona titular ()

Methods inherited from class java.lang.Object


clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail
CajaAhorro
public CajaAhorro(Persona t)

CajaAhorro
public CajaAhorro(Persona t, double s)

Method Detail

Licenciatura en Sistemas de Informacin

14

Prof. Cristina Greiner

Programacin IV

Tema 4

cuantasCajas
public static int cuantasCajas()

Devuelve el nmero de cas de ahorro creadas. Returns: devuelve un entero. Throws: No - dispara ninguna excepcion.

depositar
public void depositar(double unMonto)

Agrega unMonto al saldo actual de la cuenta. Returns: No devuelve ningn valor. Throws: No - dispara ninguna excepcion.

mostrar
public void mostrar()

numero
public int numero()

Retorna el numero de la cuenta. Returns: Un valor de tipo int. Throws: No - dispara ninguna excepcion.

saldo
public double saldo()

Retorna el saldo actual de la cuenta. Returns: Un valor de tipo double. Throws: No - dispara ninguna excepcion.

saldo
public void saldo(double unMonto)

Asigna unMonto al saldo actual de la cuenta. Returns: No devuelve ningn valor. Throws: No - dispara ninguna excepcion.

titular
public Persona titular()

Retorna el titular de la cuenta. Licenciatura en Sistemas de Informacin 15 Prof. Cristina Greiner

Programacin IV
Returns: Un objeto de tipo Persona. Throws: No - dispara ninguna excepcion.

Tema 4

Licenciatura en Sistemas de Informacin

16

Prof. Cristina Greiner