Hola! Tengo la dificultad de que se cambian los terminos en el codigo y no me da el mismo resultado que el profesor. En este caso no se que codigo deberia pasar ya que se estas usando varias clases. voy a pasar el que yo creo que esta con error y que lo e ido arreglando a medida que paso las clases pero ya hasta aqui no funciona.
public class Cuenta {
private double saldo;
private int agencia = 1;
private int numero;
private Cliente titular = new Cliente();
private static int total;
public Cuenta(int agencia, int numero) {
this.agencia = agencia;
this.numero = numero;
System.out.println("Estoy creando una cuenta " + total);
Cuenta.total++;
}
public void depositar(double valor) {
this.saldo += valor;
}
public boolean retirar(double valor) {
if (this.saldo >= valor) {
this.saldo -= valor;
return true;
} else {
return false;
}
}
public boolean transferir(double valor, Cuenta cuenta) {
if(this.saldo >= valor) {
this.saldo -= valor;
cuenta.depositar(valor);
return true;
}
return false;
}
public double getSaldo() {
return this.saldo;
}
public int getAgencia() {
return this.agencia;
}
public int getNumero() {
return this.numero;
}
public void setTitular(Cliente titular) {
this.titular = titular;
}
public Cliente getTitular() {
return titular;
}
public static int getTotal() {
return Cuenta.total;
}
}
public class CuentaCorriente extends Cuenta {
public CuentaCorriente(int agencia, int numero) {
super(agencia, numero);
}
@Override
public boolean retirar(double valor) {
double comision = 0.2;
return super.retirar(valor + comision);
}
}
Que al darle Run en el testCuenta no me da el resultado esperado:
public class TestCuenta {
public static void main(String[] args) {
CuentaCorriente cc = new CuentaCorriente(1, 1);
CuentaAhorros ca = new CuentaAhorros(2, 3);
cc.depositar(2000);
cc.transferir(1000, ca);
System.out.println(cc.getSaldo());
System.out.println(ca.getSaldo());
}
}
Agradezco a quien me pueda ayudar a resolverlo. Muchas Gracias!