Você está na página 1de 2

JERARQUIA DE CLASES, CLASES ABSTRACTAS,

POLIMORFISMO
En el diagrama se presenta la clase abstracta Ccuenta con las
subclases Clase CuentaAhorros y Clase CuentaCorriente.

Public String muestra_nombre()`


{return nombre}
public double TipoInteres()
{return tipoDeInteres; }
public abstract void comisiones();
public abstract double intereses();
public boolean ingreso(double cantidad)
{if (cantidad < 0) return false;
saldo += cantidad;
return cantidad >= 0;
}

Clase Ccuenta.java
public abstract class Ccuenta
{//atributos
private String nombre;
private String cuenta;
private double saldo;
private double tipoDeInteres;
//metodos
public Ccuenta(String n, String c, double s, double t)
{nombre = n;
cuenta = c;
saldo = s;
tipoDeInteres = t;
}
public double estado()
{return saldo;
}

public boolean retiro(double cantidad)


{if ((saldo - cantidad)< 0) return false ;
saldo -= cantidad;
return cantidad >=0; }
}

Clase Cuenta Ahorros.


import java.util.*;
public class CuentaAhorros extends Ccuenta
{ private double cuotaMantenimiento;
java.util.Calendar fecha = java.util.Calendar.getInstance();
public CuentaAhorros(String c,String i, double r, int a)
{ super(c,i,r,a); }
public boolean asignarCuotaM(double c)
{ if (c < 0) return false;
cuotaMantenimiento = c;
return c >= 0;
}

public String muestraFecha()


{ String miFecha= fecha.get(java.util.Calendar.DATE) + "/" +
fecha.get(java.util.Calendar.MONTH) + "/" +
fecha.get(java.util.Calendar.YEAR);
//DATE devuelve el entero correspondiente al DIA
return miFecha;
}
public void comisiones()
{ //Se aplica mensualmente mantenimiento de la cuenta
//dia 1 de cada mes
int fa = fecha.get(java.util.Calendar.DATE);
if (fa == 1) retiro(cuotaMantenimiento); }
public double intereses()
{ int fa = fecha.get(java.util.Calendar.DATE);
if (fa != 1) return 0.0;
double InteresesProducidos= 0.0;
InteresesProducidos = estado() *TipoInteres()/1200.0;
// ingresos(InteresesProducidos);
return InteresesProducidos; }
}

Polimorfismo
Se define el mtodo CuentaMayor del tipo Ccuenta,
que tiene como parmetros un vector de cuentas.
Static Ccuenta CuentaMayor(Ccuenta[] cuentas){
Ccuenta miCuenta=null;
double cuentaMayor=0.0;
for(int i=0; i<cuentas.length; i++)
{
if(cuentas[i].estado()>cuentaMayor){
cuentaMayor=cuentas[i].estado();
miCuenta=cuentas[i];

}
}
return miCuenta;
Codigo del Bottom MuestraDatosCliente
private void
btnMuestraClienteActionPerformed(java.awt.event.ActionEvent evt)
{
//Del Frame obtener mediante cajas de texto nombre, cuenta, saldo y
tipodeInteres
//CuentaAhorros cliente01 = new
CuentaAhorros("nombre","cuenta",2.5,300);
Ccuenta[] cc= new Ccuenta[4];
cc[0]= new CuentaAhorros("Miguelito","Ahorros",100,300);
cc[1]= new CuentaAhorros("Gasto","Ahorros",1,20);
cc[2]= new CuentaAhorros("Raul","Ahorros",1000,300);
cc[3]= new CuentaAhorros("Sarita","Ahorros",5000,300);
// SE PRESENTA EL NOMBRE DEL CLIENTE QUE TIENE EL
MAYOR SALDO EN SU CUENTA.
TA.setText(NOMBRE: + CuentaMayor(cc).muestra_nombre() +
SALDO: + String.valueOf(CuentaMayor(cc).estado()));
EJERCICIOS:
1. Implementar la clase cuenta corriente.
2. Declarar los objetos para esta clase y considerarlos en el
proceso de Cuenta Mayor.
3. Definir un procedimiento para ingresar los clientes de un
Frame y definir un men para dar a opcin de mostrar la
informacin que requiera, as como para ejecutar otras
funciones polimorficas.

Você também pode gostar