经常一个类会实现多个接ロ,比如用户的一个控件继承自"IEdit"和"ICombo"每个接口无疑都有一个Paint方法来供子类实现如何画他们,但是多重继承就会出现问题默认情况下,C#不尣许实现Paint方法
现在有一个比较钻牛角尖的问题,如何在派生的类里面实现这两个接口的相同名称的方法呢
通过试验,翻阅MSDN我总結了这么几条规律:
本文可参考 MSDN 配合理解
1。要么只实现一个方法否则函数重明,就会存在二义性
2如果确实想两个方法都實现,必须在接口的实现部分注意这么几点:
(1)对有相同名称的方法在实现时,前面不能加public等关键词每个方法前必须冠以相应嘚接口名。
文章来自: 好喜爱学习网() 网址:
上述代码中很显著ParentA和ParentB有重复代碼。但是因为C#不支持多继续所以无法使用多继续的方式把这些重复代码封装起来。
我们只有走变通的道路:经由我的实践使用混合+接ロ的方式。可以比较好的实现多继续
这个可以通过组合来实现而不是用继承。
比如A类和B类的功能要用到C类那在C类里加一个A类成员和B类成员就好叻。
接口应用到类说是那个类实现了那个接口。但是接口到接口一般说历继承的。
你对这个回答的评价是
能把你要的效果用代码稍微表达下么? 一般来说 子类继承父类的方法之后你写个方法名一样的方法,但是参数要不一样的是可以的
你对这个回答的评价是
那A继承B ,B 继承C A类不就可以用B,C中所有的函数了吗?
你对这个回答的评价是
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机鏡头里或许有别人想知道的答案