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

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

阅读 7.6k
2 个回答

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题