Problema con herencia e interfaces
Publicado por Hector (1 intervención) el 18/01/2008 10:33:30
Comento mi consulta.
Tengo una dos clases llamadas B y C que heredan de A. Ahora pues he creado un interface llamada InterfaceB que implementa SOLAMENTE la clase B. InterfaceB tiene un metodo llamado mensaje() que escribe por pantalla una cadena de texto.
Ahora viene la duda
yo en mi programa me creo objetos de la siguiente manera
A a = new B() o A a = new C(); dependiendo de la operacion que se quiera hacer.
ahora claro quiero llamar al metodo mensaje() del interfaceB que esta implementado en la clase B.
Ahora bien no puedo llamar al metodo mensaje de la siguiente manera, a.mensaje("lo que sea").
tendria que hacer un casting asi : Interface B = (B)a; pero no me interesa ya que quiero que en un futuro pueda añadir mas clases que implementen dicha interface.
Alguna manera de resolverlo??
Recapitulo:
- B y C heredan de A
- B implementa InterfaceB con metodo mensaje(String)
- Me interesa que se puedan crear mas clases que hereden de interfaceB para que muestren datos distintos por el metodo.
Espero haberme explicado
un saludo
Tengo una dos clases llamadas B y C que heredan de A. Ahora pues he creado un interface llamada InterfaceB que implementa SOLAMENTE la clase B. InterfaceB tiene un metodo llamado mensaje() que escribe por pantalla una cadena de texto.
Ahora viene la duda
yo en mi programa me creo objetos de la siguiente manera
A a = new B() o A a = new C(); dependiendo de la operacion que se quiera hacer.
ahora claro quiero llamar al metodo mensaje() del interfaceB que esta implementado en la clase B.
Ahora bien no puedo llamar al metodo mensaje de la siguiente manera, a.mensaje("lo que sea").
tendria que hacer un casting asi : Interface B = (B)a; pero no me interesa ya que quiero que en un futuro pueda añadir mas clases que implementen dicha interface.
Alguna manera de resolverlo??
Recapitulo:
- B y C heredan de A
- B implementa InterfaceB con metodo mensaje(String)
- Me interesa que se puedan crear mas clases que hereden de interfaceB para que muestren datos distintos por el metodo.
Espero haberme explicado
un saludo
Valora esta pregunta


0