搜索

首页  >  问答  >  正文

c# - "一个类可以直接继承多个接口,但只能直接继承一个类(包括抽象类)。"与C++的多继承不矛盾吗?

"一个类可以直接继承多个接口,但只能直接继承一个类(包括抽象类)。"与C++的多继承不矛盾吗?

ringa_leeringa_lee2723 天前2250

全部回复(2)我来回复

  • 某草草

    某草草2017-05-31 10:38:49

    应该是 一个类智能继承自一个类(包括抽象类),但是可以实现多个接口
    继承是直接继承,而接口是某种规范,我去遵循某些规范
    我觉得这样理解更好一些

    c++ 本来就是Simular体系的 就不说了
    多继承意义并不是太大

    回复
    0
  • 黄舟

    黄舟2017-05-31 10:38:49

    C++的多继承是真的多继承,功能更强大,不过也更不好用。所以java等语言干脆不让继承多个基类了,只能继承一个基类,可以实现多个接口。这两种方式说不上哪种更好,反正是各有千秋吧。我记得《CLR via C#》里面就说过一句,为了避免多继承所以C#只能继承单个类,结果搞到最后很多坑。反正如果不是语言大牛,普通情况下都有这折中方案,咱们能用就行了

    回复
    0
  • 取消回复