首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么OOP多态背后的关键思想?

为什么OOP多态背后的关键思想?
EN

Stack Overflow用户
提问于 2012-05-05 21:10:01
回答 3查看 575关注 0票数 3

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

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

EN

回答 3

Stack Overflow用户

发布于 2012-05-05 21:29:41

我不确定这是不是OOP的关键。这只是某人的观点。

我认为有四个关键:抽象数据类型、封装、继承和多态性。他们应该在一起。

每一个想法都依赖于之前的想法。ADT是唯一一家独立的公司。封装需要ADT。多态性需要继承。

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

票数 2
EN

Stack Overflow用户

发布于 2012-05-08 01:37:06

作者这么说可能是因为:

  1. 当B类从A继承时,B类可以被类型转换为A->,这也被称为多态。所以继承直接允许polymorphism.
  2. When A实现接口I*something*,然后A可以实现为I*something*,这也被称为多态性。
  3. 抽象:抽象类只是另一个类,它不能被实例化,也不能作为基类(通常)。非抽象子类可以被类型转换为抽象类,从而实现多态。

因此,事实上,OOP的大多数概念都可以看作是多态的,因此作者可能已经说过了。

票数 1
EN

Stack Overflow用户

发布于 2012-05-05 21:18:26

通常,它是创建对象(及其字段、方法等)的想法,这些对象可以有多个表单派生(抽象)类、实现的接口等。

如果你先问谷歌、维基百科等等,你只需要几秒钟就能得到答案。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10462182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档