当前位置:  开发笔记 > 编程语言 > 正文

为什么OO概念界面没有用C++中的关键字表示?

如何解决《为什么OO概念界面没有用C++中的关键字表示?》经验,为你挑选了3个好方法。

Java等语言明确使用interface关键字来表示接口.使用Java之后,这个概念似乎足以让我证明一个关键字可以强制执行这个概念.

当然,可以使用纯虚拟类并将其标记为接口.但是,这个关键字似乎非常有用,并且与纯虚拟类不同,因此非常有用.也许它被包含在C++ 0x中?



1> Lawrence Dol..:

因为C++允许多重继承,并且因为接口是一个抽象类,其所有成员也是抽象/虚拟的,所以C++不需要它 - 类可以简单地"扩展"多个其他类,其中任何一个都可能是纯虚拟的(抽象).

另一方面,Java和C#不允许使用MI,因为这些语言的设计者认为MI会产生比解决的问题更多的问题.但是对象仍然需要"成为"许多东西(OOP是一种关系),所以接口提供了一种机制,允许对象成为很多东西,而不继承多个实现 - 保留宝宝,但扔掉了洗澡水.


毫无疑问,一般来说,MI不会产生比解决问题更多的问题.事实上,许多OO语言都支持MI:CLOS,Eiffel,Python,OCaml等......

2> Crashworks..:

这是多余的,因为接口通过让任何类成员都是纯虚拟(= 0)来表示.


-1,它不是任何班级成员,而是所有班级成员,所以答案是误导性的.

3> Rob K..:

添加"interface"关键字会增加实现的复杂性,而无需添加任何真正有用的功能; 它会复制现有的功能.正如其他人所说,它只是一个纯粹的虚拟课程.Java和C#必须有"接口"才能获得C++已有的功能.从哲学上讲,C++旨在使程序员能够编写好的软件,而不是阻止程序员编写不良软件.根据我的经验,对抗MI的喧嚣被夸​​大了.白痴滥用它,就像他们滥用一切,而不是把白痴归咎于白痴,人们指责工具.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有