Herencia multiple

20/11/2007 - 09:04 por José Mª Toro Bermejo | Informe spam
Hola chic@s.
Tengo un producto de terceros del que realizo una herencia multiple de dos
de sus clases.
public class Clase : ClaseA, ClaseB
{
};

Con la palabra base accedo a los metodos y miembros de ClaseA pero no a los
de la ClaseB.
¿Como puedo acceder a los metodos bases de la ClaseB?

Gracias y un saludo

Preguntas similare

Leer las respuestas

#31 Carlos M. Calvelo
23/11/2007 - 13:06 | Informe spam
Hola Hernan,

On 23 nov, 11:27, Hernan wrote:
> > >> Simple, implementa una interfaz
> > >> class ImplDerivedClass: BaseClass, IFace1 { }

> > >No estoy de acuerdo. Aquí se heredan dos interfaces
> > >y solo la implementación de la primera.

> > Aquí es donde cambias el sentido del concepto interfaz
> > para utilizar el de
> > la teoria, pero en ese caso también estas
> > equivocado, ya que anteriormente mencionabas:

> No cambio el sentido de ningún concepto. Una clase tiene
> una
> interfaz y una implementacion. Una 'interface' solo tiene
> interfaz.
> O sea que de BaseClass heredamos una interfaz con su
> implementación
> y de IFace1 heredamos otro interfaz.

Este es un grupo de C# (.NET) por lo que cuando utilizamos
términos que tienen varias acepciones en la industria
o ciencia, la versión que aquí tomamos por defecto es
la que define el lenguaje y la documentación del mismo.
'interface' o su traducción al castellano interfaz
aquí tienen un significado concreto.

Es un grupo de usenet, así que por favor sigamos unas
mínimas normas para evitar las discusiones dialécticas.

Siguiendo este criterio el último párrafo citado es,
por poner un adjetivo que aquí se usa mucho, falso.
Sería válido (y con *enormes* salvedades que ni
siquiera mencionas) si aclararas que tu uso de la
palabra "interfaz" no es la traducción al castellano
de la palabra clave "interface" de C#.




Me estás diciendo que porque C# tiene una palabra clave "interface"
para soportar un mecanismo para definir una versión limitada de lo
que de otra forma hubiera sido una interfaz de una clase...,
que entonces por eso una clase ya no tiene una interfaz (también
interface en inglés) o que a eso ya no se le puede llamar interfaz?

Saludos,
Carlos
Respuesta Responder a este mensaje
#32 Hernan
23/11/2007 - 16:01 | Informe spam
On 23 nov, 13:06, "Carlos M. Calvelo" wrote:
Hola Hernan,

On 23 nov, 11:27, Hernan wrote:



> > > >> Simple, implementa una interfaz
> > > >> class ImplDerivedClass: BaseClass, IFace1 { }

> > > >No estoy de acuerdo. Aquí se heredan dos interfaces
> > > >y solo la implementación de la primera.

> > > Aquí es donde cambias el sentido del concepto interfaz
> > > para utilizar el de
> > > la teoria, pero en ese caso también estas
> > > equivocado, ya que anteriormente mencionabas:

> > No cambio el sentido de ningún concepto. Una clase tiene
> > una
> > interfaz y una implementacion. Una 'interface' solo tiene
> > interfaz.
> > O sea que de BaseClass heredamos una interfaz con su
> > implementación
> > y de IFace1 heredamos otro interfaz.

> Este es un grupo de C# (.NET) por lo que cuando utilizamos
> términos que tienen varias acepciones en la industria
> o ciencia, la versión que aquí tomamos por defecto es
> la que define el lenguaje y la documentación del mismo.
> 'interface' o su traducción al castellano interfaz
> aquí tienen un significado concreto.

> Es un grupo de usenet, así que por favor sigamos unas
> mínimas normas para evitar las discusiones dialécticas.

> Siguiendo este criterio el último párrafo citado es,
> por poner un adjetivo que aquí se usa mucho, falso.
> Sería válido (y con *enormes* salvedades que ni
> siquiera mencionas) si aclararas que tu uso de la
> palabra "interfaz" no es la traducción al castellano
> de la palabra clave "interface" de C#.

Me estás diciendo que porque C# tiene una palabra clave "interface"
para soportar un mecanismo para definir una versión limitada de lo
que de otra forma hubiera sido una interfaz de una clase...,
que entonces por eso una clase ya no tiene una interfaz (también
interface en inglés) o que a eso ya no se le puede llamar interfaz?

Saludos,
Carlos



No. Lo que te estoy diciendo es que en *este* grupo usenet
primero tienes que hacer explícita esa diferencia en los términos
porque aquí la *primer* acepción es la de C#. Haces la
debida aclaración y luego planteas tu punto de vista
a placer.

Exactamente al revés sería si estuviera leyendo un hilo de
discusión en comp.lang.theory. Aunque agrega un punto de
confusión tampoco es relevante la traducción al castellano.
Palabras como value, metaclass o reference
tienen significados distintos si estás hablando de
Python, CLOS o teoría pura.

-H.
Respuesta Responder a este mensaje
#33 Carlos M. Calvelo
23/11/2007 - 19:40 | Informe spam
Hola Hernan,

On 23 nov, 16:01, Hernan wrote:
On 23 nov, 13:06, "Carlos M. Calvelo" wrote:

> Me estás diciendo que porque C# tiene una palabra clave "interface"
> para soportar un mecanismo para definir una versión limitada de lo
> que de otra forma hubiera sido una interfaz de una clase...,
> que entonces por eso una clase ya no tiene una interfaz (también
> interface en inglés) o que a eso ya no se le puede llamar interfaz?


No. Lo que te estoy diciendo es que en *este* grupo usenet
primero tienes que hacer explícita esa diferencia en los términos
porque aquí la *primer* acepción es la de C#. Haces la
debida aclaración y luego planteas tu punto de vista
a placer.




Algo asi?
Al heredar de una clase se hereda una interfaz y su implementación;
al heredar de una interfaz se hereda, pues eso.. solo una interfaz.





Literalmente en estos términos me he expresado en mi segunda
aportación en este hilo. Son conceptos generales de OO y por tanto
también aplicables a C# y Java.
Si en el contexto de C# tienes términos expecíficos para estos
conceptos los pones aquí y ya está.

Saludos,
Carlos
Respuesta Responder a este mensaje
#34 Octavio Hernandez
24/11/2007 - 15:48 | Informe spam
Hola, Daniel!

La charla se refiere a que en este contexto:

public class MyCollection: ICollection
{

}

...lo mas preciso es decir que MyCollection implementa ICollection y no
decir que MyCollection hereda de ICollection.



En esto estamos de acuerdo.

Salu2 - Octavio
Respuesta Responder a este mensaje
#35 Hernan
25/11/2007 - 23:09 | Informe spam
On 23 nov, 19:40, "Carlos M. Calvelo" wrote:
Hola Hernan,

On 23 nov, 16:01, Hernan wrote:

> On 23 nov, 13:06, "Carlos M. Calvelo" wrote:

> > Me estás diciendo que porque C# tiene una palabra clave "interface"
> > para soportar un mecanismo para definir una versión limitada de lo
> > que de otra forma hubiera sido una interfaz de una clase...,
> > que entonces por eso una clase ya no tiene una interfaz (también
> > interface en inglés) o que a eso ya no se le puede llamar interfaz?

> No. Lo que te estoy diciendo es que en *este* grupo usenet
> primero tienes que hacer explícita esa diferencia en los términos
> porque aquí la *primer* acepción es la de C#. Haces la
> debida aclaración y luego planteas tu punto de vista
> a placer.

Algo asi?

>>Al heredar de una clase se hereda una interfaz y su implementación;
>>al heredar de una interfaz se hereda, pues eso.. solo una interfaz.

Literalmente en estos términos me he expresado en mi segunda
aportación en este hilo. Son conceptos generales de OO y por tanto
también aplicables a C# y Java.
Si en el contexto de C# tienes términos expecíficos para estos
conceptos los pones aquí y ya está.



Está visto que esto no va a ningún lado...

-H.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida