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实现了多重继承