为什么OOP多态性背后的关键理念?

时间:2012-05-05 13:10:01

标签: oop polymorphism

在C ++ Primer一书中,作者写道:“OOP背后的关键思想是多态性”。我不确定我理解作者的意思。其他重要的东西呢:抽象,继承等 有人可以详细说明吗?

编辑:  我不问“什么是多态”。我问“为什么多态性是OOP背后的关键”?为什么不继承是关键?

3 个答案:

答案 0 :(得分:2)

我不确定它是 OOP的键。这只是某人的意见。

我认为有四个键:抽象数据类型,封装,继承和多态。他们属于一体。

每个想法都取决于之前的想法。 ADT是唯一独立的产品。封装需要ADT。多态性需要继承。

多态性有助于消除ifswitchcase语句。您不必编写代码来根据对象类型确定要执行的操作;虚拟表只是在幕后为您调用正确的方法。

答案 1 :(得分:1)

作者可能这样说是因为:

  1. 当B类继承自A时,B类可以被类型化为A ---->这也称为多态性。所以继承直接允许多态。

  2. 当A实现接口I *某事物*然后A可以作为I * something *罗马,它也被称为多态。因此,接口使多态性成为现实。

  3. 摘要:抽象类只是另一个无法实例化并充当基类的类(通常)。非抽象子类可以类型转换为抽象类,因此也可以是多态。

  4. 因此事实上它看到OOP的大多数概念可以被视为多态,并且由于这个作者可能已经说过了。

答案 2 :(得分:0)

一般来说,创建对象(包括它们的字段,方法等)的想法可以有多个表单派生(抽象)类,实现接口等等。

如果您首先要求谷歌,维基百科等,那么您只需几秒就能得到答案;)