日期:2014-05-18  浏览次数:20873 次

C# 的接口如何实现c++ 的多继承?
//\用C# 的接口如何实现c++ 的多继承?\//

比如://直接看代码吧!

C# code
public class MP3
{
    public string value = "MP3";
    public string Play()
    {
        return "I can play music!";
    }
}
public class Mobile
{
    public string value = "mobile";
    public string Call()
    {
        return "I use to call someone!";
    }
}
public class  Mp3Phole
{
    //如何继承 MP3 与 Mobile啊
}


------解决方案--------------------
C#不支持基于类的多重继承。
------解决方案--------------------
给其中一个弄个接口,然后继承一个关联一个,再实现下接口,还能咋办
------解决方案--------------------
如果你希望利用接口共享方法实现的话,你可以使用扩展方法。
------解决方案--------------------
除了继承,还可以聚合
------解决方案--------------------
多重继承是为了实现多态,不要为了多重继承而多重继承
接口同样可以实现多态
------解决方案--------------------
接口多重继承不能实现具体方法的继承,这个只能用聚合,类似设计模式中的门面
http://hi.baidu.com/wujiedongsoso/blog/item/954e101da6fd1c1240341760.html
------解决方案--------------------
楼主是想实现多继承还是重用啊,重用的方式很多,不一定要靠继承。
------解决方案--------------------
当初看head first design patterns 第一章的时候
给我的第一感觉strategy实现了多重继承