社区
C#
帖子详情
C#怎么实现多继承?
misery2011
2012-04-29 03:49:49
比如A类中有个Sing方法,B类中有个Cry方法,怎么实现C类同时继承A类和B类,同时有这2个方法。有没有变通的办法啊???
...全文
626
6
打赏
收藏
C#怎么实现多继承?
比如A类中有个Sing方法,B类中有个Cry方法,怎么实现C类同时继承A类和B类,同时有这2个方法。有没有变通的办法啊???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
misery2011
2012-04-29
打赏
举报
回复
好,感谢各位的回复,尤其是sp1234的精彩讲解,果然是大师级人物。加到100,结帖了。
evelyn_green
2012-04-29
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
不支持多继承,变通的方法可以参考
C#怎么实现多继承
[/Quote]
单继承多实现;多继承用C++
以专业开发人员为伍
2012-04-29
打赏
举报
回复
使用接口当然还有很令人“痛苦”的事情。当你的大量类型都继承了IA,发现IA
非常自然地
应该在设计中增加一个特性,怎么办?如果是是扩展父类,自然不在话下。可是扩展接口,你就必须逐一修改使用了此接口的所有源代码,这可真是痛苦。
MicrosoftCenterOfHN
2012-04-29
打赏
举报
回复
1.用接口。
2.把A类,B类的实例作为C类的组成部分使用。
以专业开发人员为伍
2012-04-29
打赏
举报
回复
.net不支持多继承。你只能把A或者B单独提取出接口(使用vs的重构工具可以自动化地提取接口),然后让C继承接口这个接口。例如可以提取A类出来接口IA,设置A类个C类都继承IA。
不过接口用多了也和痛苦,因为很多时候你想要的是在C类中自动化地继承A类已经实现的代码,而不是在C中去别扭地写上将Sing方法委派调用另外一个A类对象实例的Sing代码这种诡异的实现方法。但是可惜.net就是不支持多重继承,所以只能额外使用接口。
另外,非常重要地,坚决要杜绝“为了继承而继承”的坏毛病。假设C继承了A,那么一个C实体“就是(is-a)”一个A实体,给不懂计算机软件的人也应该用自然语言经明白这个继承性。如果你跟别人说“白马是哺乳动物,同时白马也是丹顶鹤”,这后半句就是诡异的。你不能因为想让白马也有“白色”这个特性而让它去继承丹顶鹤类型。为了省事、少写代码而搞继承,是违背面向对象设计基本原则的。面向对象设计的目的是设计软件,是要用来跟各方面人沟通的工具,而不是为了你少写几条代码。
孟子E章
2012-04-29
打赏
举报
回复
不支持多继承,变通的方法可以参考
C#怎么实现多继承
【
C#
】完美
实现
ComBox多列下拉框+自动完成+DataGridView自定义列
灵活:数据源、下拉框内显示的列、列名、可搜索关键字等可自由定义 方便:可输可选/支持键盘操作/模糊过滤/自动完成匹配 标准:通过继承combobox
实现
,可单独使用,也可嵌入datagridview使用 感谢“随风飘散”
C#
到底能不能
实现
多继承
呢?
C#
到底能不能
实现
多继承
呢? 我给出的答案是不能直接
实现
,而是要通过接口的方式 一、 接口默认的修饰符是internal,一般自己命名的接口要以I字母开头 接口间也可以
实现
类似继承的关系,像子类和父类一样,子接口...
从新手小白进入
C#
编程(VS2019)
C#
是微软公司发布的一种由C和C++衍生出来的,极其类似Java的纯面向对象的高级编程语言、是运行于.NET Framework和.NET Core(完全开源,跨平台)之上的主流的开发语言 !
C#
广泛运用于桌面程序开发、服务端程序、Web...
C#
中
实现
多继承
的方法
这篇文章主要介绍了
C#
中
实现
多继承
的方法,本文通过给接口添加扩展的方法
实现
了
C#
的
多继承
,需要的朋友可以参考下 近日看到了一个贴子,就是在
C#
语言中,如何
实现
多继承
的问题。相信涉猎
c#
不多的人(像我...
C#
之
多继承
说起
多继承
,首先大家可以想想这个问题:你知道在
C#
中怎么
实现
多继承
吗? 主流的答案无非2种。 答案一:用接口啊,一个类可以继承自多个接口的。 答案二:
C#
不支持
多继承
,C++才支持
多继承
,
多继承
会让代码...
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章