Está en la página 1de 3

1.

Disear la siguiente jerarqua de clases:

Persona
Nombre
Edad
Visualizar()

Estudiante
Nombre heredado
Edad heredado
Id definido
Visualizar() redefinido

Profesor
Nombre heredado
Edad heredado
Salario definido
Visualizar() heredado

Escriba un programa que manipule la jerarqua de clases, lea un objeto de cada clase
y visualcelo.

2. Analizar el siguiente cdigo:

public class CCuenta1


{ private String nombre;
private String cuenta;
private double saldo;
private double tipoDeInteres;

public void asignarNombre (String nom)


{ if (nom.length()==0)
{ System.out.println("Error: cadena vacia");
return;
}
nombre=nom;
}

public String obtenerNombre()


{ return nombre;
}

public void asignarCuenta(String cue)


{ if (cue.length()==0)
{ System.out.println("Error: cuenta no vlida");
return;
}
cuenta=cue;
}

public String obtenerCuenta()


{ return cuenta;
}

public double estado()


{ return saldo;
}

public void ingreso(double cantidad)


{ if (cantidad < 0)
{ System.out.println("Error: cantidad negativa");
return;
}
saldo = saldo + cantidad;
}

public void reintegro(double cantidad)


{ if (saldo - cantidad < 0)
{ System.out.println( "Error: no dispone de saldo");
return;
}
saldo = saldo - cantidad;
}

public void asignarTipoDeInteres(double tipo)


{ if (tipo < 0)
{ System.out.println( "Error: tipo no vlido");
return;
}
tipoDeInteres=tipo;
}

public double obtenerTipoDeInteres()


{ return tipoDeInteres;
}

public CCuenta1(){} // Constructor sin parmetros

public CCuenta1(String nom, String cue, double sal, double tipo)


{ asignarNombre(nom);
asignarCuenta(cue);
ingreso(sal);
asignarTipoDeInteres(tipo);
}
}

public class Test1


{ public static void main(String args[])
{ CCuenta1 cuenta01=new CCuenta1();
CCuenta1 cuenta02=new CCuenta1("Juan","Costo Cero",6000,3.5 );
cuenta01.asignarNombre("Alejandro");
cuenta01.asignarCuenta("Maestra");
cuenta01.asignarTipoDeInteres(2.5);

cuenta01.ingreso(12000);
cuenta01.reintegro(3000);

System.out.println("Titular: "+ cuenta01.obtenerNombre());


System.out.println("Tipo : "+ cuenta01.obtenerCuenta());
System.out.println("Saldo : "+ cuenta01.estado());
System.out.println("Interes: "+ cuenta01.obtenerTipoDeInteres());
System.out.println();
System.out.println("Titular: "+ cuenta02.obtenerNombre());
System.out.println("Tipo : "+ cuenta02.obtenerCuenta());
System.out.println("Saldo : "+ cuenta02.estado());
System.out.println("Interes: "+ cuenta02.obtenerTipoDeInteres());
}
}

En base a la clase anterior CCuenta, implementar una clase nueva CCuentaAhorro que
permita el manejo de la cuota de mantenimiento de la cuenta de ahorros, con los
mtodos: asignarCuotaManten y obtenerCuotaManten.

Sobrescribir el mtodo reintegro(double cantidad), de manera que obligue a disponer de


un saldo positivo superior a 1500 para las cuentas de ahorro con un inters mayor o igual
de 3.5.

Modificar el main para que permita la creacin de objetos con cinco parmetros: nombre,
cuenta, saldo, tipoDeinteres y cuotaMantenimiento, y no cuatro como era en el cdigo
dado anteriormente. Probar llamando al mtodo sobrecargado reintegro.