Re: Question about interface



Actually I would just implement an abstract method, Travel(), and let *its*
implementations in child classes decide whether to fly or swim.

Multiple inheritance is one of those sexy ideas that degenerates into a
quagmire of spaghetti very quickly. Interfaces let you implement a species
of mixins which is IMO about all MI is good for anyway.

If you really want MI, however, the Eiffel.NET language *does* provide it.
It even provides generics without waiting for CLR 2.0.

--Bob

"Quentin Huo" <q.huo@xxxxxxxxxxxxxx> wrote in message
news:%23WtNctjYFHA.2124@xxxxxxxxxxxxxxxxxxxxxxx
> Hi:
>
> C# doesn't support multiple inheritance but it supports interface.But I
> think these ways are different.
>
> For example, C++ supports multiple inheritance. I have two classess classA
> and classB:
>
> class classA(){
> ......
> public void fly(){
> ......
> }
> ......
> }
>
> class classB(){
> ......
> public void swim(){
> ......
> }
> ......
> }
>
> Now we can create another class "classC" which inherits from "classA" and
> "classB".
> So classC will have the features of fly and swim. The important is we
> don't need do anything else.
>
> But in C#, it doesn't support multiple inheritance. Now, if I need to
> create a class "classC" and it will have the "fly" and "swim" functions in
> the existing classes "classA" and "classB", how can I do ?
>
> I think one solution is
> - create an interafce "interfaceSwim" and "swim" method;
> - classB inherits from classA and interfaceSwim, and implements the swim
> method;
> - create classC which inherits from classB.
>
> But there will be one more level of inheritance architecture. Is it
> correct? or better solution?
>
> Thanks
>
> Q.


.



Relevant Pages

  • Re: Question about interface
    ... > For example, C++ supports multiple inheritance. ... > class classB(){ ... > public void swim(){ ... > So classC will have the features of fly and swim. ...
    (microsoft.public.dotnet.languages.csharp)
  • Question about interface
    ... C# doesn't support multiple inheritance but it supports interface.But I ... For example, C++ supports multiple inheritance. ... I have two classess classA ... class classB(){ ...
    (microsoft.public.dotnet.languages.csharp)