Heim  >  Fragen und Antworten  >  Hauptteil

c# – „Eine Klasse kann mehrere Schnittstellen direkt erben, aber nur eine Klasse (einschließlich abstrakter Klassen) direkt erben.“ Ist das nicht im Widerspruch zur Mehrfachvererbung von C++?

„Eine Klasse kann mehrere Schnittstellen direkt erben, aber nur eine Klasse direkt erben (einschließlich abstrakter Klassen).“ Ist das nicht im Widerspruch zur Mehrfachvererbung in C++?

ringa_leeringa_lee2720 Tage vor2245

Antworte allen(2)Ich werde antworten

  • 某草草

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

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

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

    Antwort
    0
  • 黄舟

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

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

    Antwort
    0
  • StornierenAntwort