Java - Problema con herencia e interfaces

 
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Problema con herencia e interfaces

Publicado por chuidiang (950 intervenciones) el 18/01/2008 16:16:55
Hola:

Haz el cast a la interface, en vez de a B

De todas formas, quizás es mejor si A implementase una InterfaceA con ese método, salvo que no quieras obligar a C a implementarlo. Pero entoces el cast a InterfaceB te dara un error si en a tienes un C.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar