类的多继承是否体现面向对象多态特征?

作者站长头像
站长
· 阅读数 20

我们知道面向对象三大特征,封装、继承、多态。请问,多继承是否是多态呢?

interface Printable {
  print(): void;
}

interface Loggable {
  log(): void;
}

class MyClass implements Printable, Loggable {
  print() {
    console.log("Printing...");
  }

  log() {
    console.log("Logging...");
  }
}

在我理解中,多个类不同地实现同一个接口,这个才是面向对象的多态。

这里的多继承是否属于类的多态呢?

回复
1个回答
avatar
test
2024-07-01

多态的前提:有继承关系,子类对象是可以赋值给父类类型的变量。例如Animal是一个动物类型,而Cat是一个猫类型。Cat继承了Animal,Cat对象也是Animal类型,自然可以赋值给父类类型的变量。

answer image详细可查看我的这篇文章:

https://segmentfault.com/a/1190000043455514
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容