Niveles de heredación

11/04/2007 - 09:17 por David C | Informe spam
Hola a todos,

Se puede hacer lo siguiente?

Tenemos un formulario que tiene unos metodos y atributos de clase genéricos.
Desde este form queremos hacer otro heredado añadiendo ciertos atributos y
metodos genéricos.
Desde el anterior queremos hacer un tercer form que herede todas las
propiedades de los dos anteriores mas ciertos atributos específicos.

Es posible hacer esto. Es decir con Java o con C++ es totalmente posible
crear un clase tipo form de dos clases tipos form determinadas.

Si alguien lo ha realizado y quiere postear un comentario, se agradeceria...

David.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
11/04/2007 - 09:27 | Informe spam
"David C" wrote in message
news:
Tenemos un formulario que tiene unos metodos y atributos de clase
genéricos.
Desde este form queremos hacer otro heredado añadiendo ciertos atributos y
metodos genéricos.
Desde el anterior queremos hacer un tercer form que herede todas las
propiedades de los dos anteriores mas ciertos atributos específicos.

Es posible hacer esto. Es decir con Java o con C++ es totalmente posible
crear un clase tipo form de dos clases tipos form determinadas.



Te vas a enterar como te pille Alfredo Novoa diciendo "heredación" :-)

Si no te he entendido mal, lo que persigues es la herencia múltiple (es
decir, una clase que herede simultaneamente de otras dos, las cuales a su
vez no heredan la una de la otra). En C#, a diferencia de C++, no existe
herencia múltiple, sino solo herencia simple, es decir, que solo puedes
heredar de una única clase.
La alternativa consiste en implementar Interfaces. Una clase puede
heredar de una única clase madre, e implementar uno o más interfaces. Este
mecanismo no es tan potente como la herencia de clases, ya que con la
implementación de interfaces solo recibes en la clase hija la definición,
pero no la implementación, de las propiedades y métodos definidos en el
interface. Lo que sí consigues con los interfaces es que funcione el
polimorfismo igual que si estuvieras usando herencia.
Respuesta Responder a este mensaje
#2 Juan Diego Bueno
11/04/2007 - 09:36 | Informe spam
Te vas a enterar como te pille Alfredo Novoa diciendo "heredación" :-)



Es que vaya patadón al diccionario...

Por cierto, en C++ existe la herencia múltiple, pero en Java?. Me da
que en Java la única forma de implementar algo similar a la herencia
múltiple es como en C# mediante interfaces

Saludos
Respuesta Responder a este mensaje
#3 RFOG
11/04/2007 - 10:01 | Informe spam
Otra opción es la "contención" de contener.

La clase A tiene un comportamiento. La B otro. Queremos que la C implemente
el de A y el de B.

Heredamos C de A e implementamos una instancia de B. O al revés, dependiendo
de qué modificaciones son necesarias. Si necesitamos que por ejemplo, tanto
A como B varíen su comportamiento, entonces podemos hacer:

Heredar una clase D desde B, y luego heredar otra desde A que contenga una
instancia de D.

No es la solución óptima pero es válida cuando no existe la herencia
múltiple, y muchas veces la herencia múltiple se puede descomponer en eso.
Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
La política es una guerra sin efusión de sangre; la guerra una política con
efusión de sangre.

"Juan Diego Bueno" escribió en el mensaje de noticias
news:

Te vas a enterar como te pille Alfredo Novoa diciendo "heredación" :-)



Es que vaya patadón al diccionario...

Por cierto, en C++ existe la herencia múltiple, pero en Java?. Me da
que en Java la única forma de implementar algo similar a la herencia
múltiple es como en C# mediante interfaces

Saludos
Respuesta Responder a este mensaje
#4 Alfredo Novoa
11/04/2007 - 12:02 | Informe spam
Hola Juan Diego,

On 11 Apr 2007 00:36:16 -0700, "Juan Diego Bueno"
wrote:

Por cierto, en C++ existe la herencia múltiple, pero en Java?. Me da
que en Java la única forma de implementar algo similar a la herencia
múltiple es como en C# mediante interfaces



En eso C# también está copiado de Java. Es exactamente igual.


Saludos
Respuesta Responder a este mensaje
#5 Diego Jancic
11/04/2007 - 14:52 | Informe spam
Hola,
No se podria hacer usando mixins?
http://wiki.castleproject.org/index...namicProxy:Mixins

O al menos estar mas cerca :)

Saludos!,
Diego
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida