Herecia múltiple en C#

12/12/2003 - 14:54 por Joseca | Informe spam
Hola a todos,

sabría alguien decirme como poder hacer una herencia
múltiple en C#, de hecho tengo entendido que no es posible
aunque no estoy seguro. Una posible idea sería: Si
queremos que la clase C derive de A y B, podemos hacer que
B derive de A y a su vez C de B (A-->B-->C). Pero esto no
me sirve puesto que no quiero que B adquiera los métodos y
propiedades de A.
Alguna sugerencia ?????

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Damian Bacalov
12/12/2003 - 15:05 | Informe spam
No es posible la herencia múltiple en C#.
La herencia múltiple ha traído muchas más complicaciones que beneficios en
lenguajes como C++.
Deberías poder resolver tu modelado de objetos sin necesidad de herencia
múltiple.

Damian



"Joseca" wrote in message
news:0c5b01c3c0b7$6c2afa90$
Hola a todos,

sabría alguien decirme como poder hacer una herencia
múltiple en C#, de hecho tengo entendido que no es posible
aunque no estoy seguro. Una posible idea sería: Si
queremos que la clase C derive de A y B, podemos hacer que
B derive de A y a su vez C de B (A-->B-->C). Pero esto no
me sirve puesto que no quiero que B adquiera los métodos y
propiedades de A.
Alguna sugerencia ?????

Muchas gracias.
Respuesta Responder a este mensaje
#2 Marcelo Papalini
12/12/2003 - 16:05 | Informe spam
Hola,

el tema de herencia multiple, es un tema muy DISCUTIDO
desde hace MUCHOS AÑOS (30 aprox !!!).

El por que no se usa depende de cada LENGUAJE. Hay varios
lenguajes que si la utilizan .

Lo critico es como se implementa en el lenguaje y COMO la
implementa el programador/diseñador .
En el modelo de un sistema informatico la multiple
herencia se resuelve de formas mas simple, como la
delegacion , hay otros formas, no es la unica.

En la vida real la herencia multiple EXISTE y hay varios
casos como ejemplo : el ornitorrinco..Tiene pelo,
pico de pato, con patas , es un mamifero, pone huevos y
amamanta a sus crias...y entonces ?, donde lo
clasificamos (QUE CLASE ES ?).

Regresando a tu pregunta lo mejor que podes hacer para
simular la doble herencia es utilizar una Interface y
listo. NO ?.


Hola a todos,

sabría alguien decirme como poder hacer una herencia
múltiple en C#, de hecho tengo entendido que no es


posible
aunque no estoy seguro. Una posible idea sería: Si
queremos que la clase C derive de A y B, podemos hacer


que
B derive de A y a su vez C de B (A-->B-->C). Pero esto no
me sirve puesto que no quiero que B adquiera los métodos


y
propiedades de A.
Alguna sugerencia ?????

Muchas gracias.

.

Respuesta Responder a este mensaje
#3 JuanI
12/12/2003 - 16:39 | Informe spam
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title></title>
</head>
<body>
<b>CREO (soy nuevo en esto de objetos y C#) que para simular una
herencia multiple se puede heredar de A, y dentro de la clase nueva
crear una instancia de la clase C, y usar los metodos asi&nbsp; programando
metodos "adaptadores".<br>
<br>
me explico? no se, es algo que se me ocurre.</b><br>
<b>&nbsp;<br>
Encontre esto, talvez te ayude:</b><br>
<font color="#000066"><i>If you come across a situation in which you
want to use multiple inheritance (for<br>
example wanting to have a ClockRadio class inherit from both AlarmClock
and Radio),<br>
you can get most of the desired behavior by using containment.
Containment embeds a<br>
member variable of the class you want to derive from. Here this
technique calls for<br>
adding both an AlarmClock and a Radio variable to the ClockRadio class
and delegating<br>
the wanted functionality to the appropriate private member variable.
This technique also<br>
works for single inheritance, but it is the only workaround you have to
mimic multiple<br>
inheritance in .NET &#8212; unless Microsoft surprises everyone by adding
multiple<br>
inheritance in a subsequent version.<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; (Wiley - C# Bible)</i></font><br>
<br>
<br>
<br>
<br>
Joseca wrote:<br>
<blockquote type="cite" cite="mid0c5b01c3c0b7$6c2afa90$">
<pre wrap="">Hola a todos,

sabr&iacute;a alguien decirme como poder hacer una herencia
m&uacute;ltiple en C#, de hecho tengo entendido que no es posible
aunque no estoy seguro. Una posible idea ser&iacute;a: Si
queremos que la clase C derive de A y B, podemos hacer que
B derive de A y a su vez C de B (A--&gt;B--&gt;C). Pero esto no
me sirve puesto que no quiero que B adquiera los m&eacute;todos y
propiedades de A.
Alguna sugerencia ?????

Muchas gracias.

</pre>
</blockquote>
</body>
</html>
Respuesta Responder a este mensaje
#4 Mario Reiley
12/12/2003 - 17:50 | Informe spam
Simulala con interfaces.

Mario

"Joseca" escribió en el mensaje
news:0c5b01c3c0b7$6c2afa90$
Hola a todos,

sabría alguien decirme como poder hacer una herencia
múltiple en C#, de hecho tengo entendido que no es posible
aunque no estoy seguro. Una posible idea sería: Si
queremos que la clase C derive de A y B, podemos hacer que
B derive de A y a su vez C de B (A-->B-->C). Pero esto no
me sirve puesto que no quiero que B adquiera los métodos y
propiedades de A.
Alguna sugerencia ?????

Muchas gracias.
Respuesta Responder a este mensaje
#5 Eugenio Serrano
15/12/2003 - 14:22 | Informe spam
Es verdad que no existe herencia multiple en c#, pero tambien es verdad que
una clase puede implementar multiples interfaces..

Saludos,
Eugenio Serrano
NDSoft Consultoria y Desarrollo
Voluntario INETA Latam - Comite Web


"Damian Bacalov" escribió en el mensaje
news:
No es posible la herencia múltiple en C#.
La herencia múltiple ha traído muchas más complicaciones que beneficios en
lenguajes como C++.
Deberías poder resolver tu modelado de objetos sin necesidad de herencia
múltiple.

Damian



"Joseca" wrote in message
news:0c5b01c3c0b7$6c2afa90$
Hola a todos,

sabría alguien decirme como poder hacer una herencia
múltiple en C#, de hecho tengo entendido que no es posible
aunque no estoy seguro. Una posible idea sería: Si
queremos que la clase C derive de A y B, podemos hacer que
B derive de A y a su vez C de B (A-->B-->C). Pero esto no
me sirve puesto que no quiero que B adquiera los métodos y
propiedades de A.
Alguna sugerencia ?????

Muchas gracias.


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