
Unificar código en clase abstracta
Publicado por CaTZ (8 intervenciones) el 14/01/2015 15:56:28
Buenas tardes,
Tengo un problemilla con un tema y creo que es porque no tengo claro algunos conceptos.
Lo que tengo que hacer es unificar el código idéntico de 2 clases en otra clase abstracta para evitar duplicar el código.
Suponiendo que en Class1 y en Class2 hay 2 métodos (Metodo1 y Metodo2) que comparten código, sería meter ese código en una tercera clase abstracta (AbstractClass) para unificar el código y así cuando haya que modificar algo sólo se modifique en un sitio. El problema que tengo es que no se cómo tengo que llamar a los métodos de la clase abstracta desde las otras clases ya que yo tenía entendido que en la clase abstracta sólo se ponía el método (sin implementar código) y desde cada clase se controlaba el comportamiento.
Pues bien...yo he pensado en esto (de forma resumida):
AbstractClass
Class1
Class2
¿Cómo debería hacerlo?
Muchas gracias de antemano!
Tengo un problemilla con un tema y creo que es porque no tengo claro algunos conceptos.
Lo que tengo que hacer es unificar el código idéntico de 2 clases en otra clase abstracta para evitar duplicar el código.
Suponiendo que en Class1 y en Class2 hay 2 métodos (Metodo1 y Metodo2) que comparten código, sería meter ese código en una tercera clase abstracta (AbstractClass) para unificar el código y así cuando haya que modificar algo sólo se modifique en un sitio. El problema que tengo es que no se cómo tengo que llamar a los métodos de la clase abstracta desde las otras clases ya que yo tenía entendido que en la clase abstracta sólo se ponía el método (sin implementar código) y desde cada clase se controlaba el comportamiento.
Pues bien...yo he pensado en esto (de forma resumida):
AbstractClass
1
2
3
4
5
6
7
8
9
10
public abstract class AbstractClass{
public boolean Metodo1 {
bla bla bla bla......
return true;
}
public boolean Metodo2 {
bla bla bla bla......
return false;
}
}
Class1
1
2
3
4
public class Class1 extends AbstractClass{
public boolean Metodo1();
public boolean Metodo2();
}
Class2
1
2
3
4
public Class2 extends AbstractClass{
public boolean Metodo1();
public boolean Metodo2();
}
¿Cómo debería hacerlo?
Muchas gracias de antemano!
Valora esta pregunta


1