Clases abstractas y herencia.
Publicado por Serendipity (4 intervenciones) el 01/09/2005 22:29:11
Hola! tengo una duda con una aplicación que estoy haciendo. Resulta que tengo una clase Cuenta, una clase que hereda de Cuenta que se llama CuentaCorriente, lo mismo que CuentaAhorro y FondoInversion.
Quiero hacer que cada Cuenta "hija" de la clase "padre" Cuenta tenga el método "SacarDinero" pero que en cada una de las tres se calcule diferente.
Hasta ahí todo correcto. Pero el problema es que en el programa principal no puedo instanciar a cada una de las tres, sino que tengo que asignar una "Cuenta" en general a cada Titular (otra clase). Entonces, a la hora de llamar al método "SacarDinero", yo esperaba que ya se diferenciase si era de un tipo o en otro en particular. Pero no lo hace!
Probé a hacer la clse Cuenta abstract, pero claro, no puedo instanciarla tal cual en el programa principal, ... alguna sugerencia??? Gracias.
--------------------------------------------------------------------------
public class Cuenta implements Serializable {
....
public void SacarDinero(int dinero){
}
------------------------------------------------------------------------
public class CuentaCorriente implements Serializable {
....
public void SacarDinero(int dinero){
if (dinero>saldo) {
...
}
}
---------------------------------------------------------------------------
public class CuentaAhorro implements Serializable {
....
public void SacarDinero(int dinero){
if (dinero>(saldo-1000)) {
...
}
}
--------------------------------------------------------------------------
public class FondoInversion implements Serializable {
....
public void SacarDinero(int dinero){
}
Quiero hacer que cada Cuenta "hija" de la clase "padre" Cuenta tenga el método "SacarDinero" pero que en cada una de las tres se calcule diferente.
Hasta ahí todo correcto. Pero el problema es que en el programa principal no puedo instanciar a cada una de las tres, sino que tengo que asignar una "Cuenta" en general a cada Titular (otra clase). Entonces, a la hora de llamar al método "SacarDinero", yo esperaba que ya se diferenciase si era de un tipo o en otro en particular. Pero no lo hace!
Probé a hacer la clse Cuenta abstract, pero claro, no puedo instanciarla tal cual en el programa principal, ... alguna sugerencia??? Gracias.
--------------------------------------------------------------------------
public class Cuenta implements Serializable {
....
public void SacarDinero(int dinero){
}
------------------------------------------------------------------------
public class CuentaCorriente implements Serializable {
....
public void SacarDinero(int dinero){
if (dinero>saldo) {
...
}
}
---------------------------------------------------------------------------
public class CuentaAhorro implements Serializable {
....
public void SacarDinero(int dinero){
if (dinero>(saldo-1000)) {
...
}
}
--------------------------------------------------------------------------
public class FondoInversion implements Serializable {
....
public void SacarDinero(int dinero){
}
Valora esta pregunta


0