寻求多重继承在C#中的解决方法

biihc2000 2005-02-04 02:34:49
我现在有一个基类A,其下有三个子类B、C、D,其中D由于需要,又要从System.
windows.Form继承,这个问题在C#中应该如何解决呢?
...全文
167 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallMage 2005-02-04
  • 打赏
  • 举报
回复
用接口
js981dz 2005-02-04
  • 打赏
  • 举报
回复
用接口实现,最简单易行。
henryfan1 2005-02-04
  • 打赏
  • 举报
回复
可以采用委托来实现功能的组合。
biihc2000 2005-02-04
  • 打赏
  • 举报
回复
但上面的方法就舍弃了B、C、D在类层次上的同性,在特定情况下处理起来会比较麻烦。
nga96 2005-02-04
  • 打赏
  • 举报
回复
哇,楼上的也是个办法,呵。
多继承有好处也有坏处,呵。
FJGoodGood 2005-02-04
  • 打赏
  • 举报
回复
继承有两种,一种是继承接口、一种是集成接口和实现,C#不具备后者继承能力。

有一种变通的方法是,把原来的基类变为成员,这样就集成了多个类的功能。
huangsuipeng 2005-02-04
  • 打赏
  • 举报
回复
楼上们都讲了
xiongchen 2005-02-04
  • 打赏
  • 举报
回复
C#不支持多继承,只能用接口来实现了.
cuike519 2005-02-04
  • 打赏
  • 举报
回复
C#只支持多接口继承,不支持类的多继承!

要实现这个要求必须使用继承多个接口!
LoveCherry 2005-02-04
  • 打赏
  • 举报
回复
做成接口
sutalon 2005-02-04
  • 打赏
  • 举报
回复
biihc2000(BlueWater) ,
“我也是这么想,但是A中还有属性,做成接口就得舍弃属性,然后在B、C、D中将A的属性都写一遍,显然实在不优雅。”

你的这个问题我也碰到过,我也只有按这种方法来实现了

请大虾进来指点一下!!
biihc2000 2005-02-04
  • 打赏
  • 举报
回复
我也是这么想,但是A中还有属性,做成接口就得舍弃属性,然后在B、C、D中将A的属性都写一遍,显然实在不优雅。
mousetrue 2005-02-04
  • 打赏
  • 举报
回复
好像没啥好办法吧。。c#里面的多得继承都是用接口处理的。
k7ta 2005-02-04
  • 打赏
  • 举报
回复
把基类A做成接口
amendajing 2005-02-04
  • 打赏
  • 举报
回复
mark

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧