Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么OOP多态性背后的关键思想是什么? P>在C++入门书中,作者写道:“OOP背后的关键思想是多态性”。我不确定我是否理解作者的意思。其他重要的东西呢:抽象、继承等等。 有人能详细说明一下吗_Oop_Polymorphism - Fatal编程技术网

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

为什么OOP多态性背后的关键思想是什么? P>在C++入门书中,作者写道:“OOP背后的关键思想是多态性”。我不确定我是否理解作者的意思。其他重要的东西呢:抽象、继承等等。 有人能详细说明一下吗,oop,polymorphism,Oop,Polymorphism,编辑: 我不会问“什么是多态性”。我在问“为什么多态性是OOP背后的关键”?为什么继承不是关键?一般来说,它是创建对象(及其字段、方法等)的想法,这些对象可以有多个表单派生(抽象)类、实现的接口等 如果你先问谷歌、维基百科等等,你只需几秒钟就能得到答案;) 我不确定这是否是OOP的关键。那只是某人的意见 我认为有四个关键点:抽象数据类型、封装、继承和多态性。他们属于一起 每个想法都依赖于之前的想法。ADT是唯一一家独立的公司。封装需要ADT。多态性需要继承 多态性有助于消除if、switch和c

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

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

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

我不确定这是否是OOP的关键。那只是某人的意见

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

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


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

作者这样说可能是因为:

  • 当类B从A继承时,类B可以被类型转换为A---->,这也被称为多形性。所以继承直接允许多态性

  • 当一个接口实现I*something*时,那么一个接口就可以被称为I*something*,也称为多态性。因此,接口使多态性成为现实

  • 摘要:抽象类只是另一个不能被实例化并充当基类(通常)的类。非抽象子类可以被类型转换为抽象类,从而产生多态性


  • 事实上,OOP的大多数概念都可以看作是多态性,因此作者可能会这么说。

    可能是因为OOP不需要继承。看看mixin&traitsWikipedia不同意你的观点:“mixin是抽象基类的同义词。从mixin继承不是一种专门化的形式。”。你愿意驳斥这一点吗?这篇关于性状的论文说:“t性状,一种扩展单一遗传的简单组合模型。”。雷诺斯,你能解释一下吗?不,我没有问“什么是多态性”。我在问“为什么多态性是OOP背后的关键”?为什么继承不是关键呢?也许你应该首先确定你了解什么是多态性。继承是“多态性”背后的关键概念之一。多态性不需要继承:\n你能详细说明一下吗?是的,请详细说明。我一直认为多态性需要一个基本静态类型,以便在运行时选择多态类型。如果你否决了这个答案,要么解释,要么撤销否决票。@duffymo-和呢?这些多态性似乎不需要基本静态类型。