java从哪里获取Interfaces的想法?

Rom*_*her 8 java

我知道现代编程语言中的大多数东西至少部分地基于早期语言中的特征.

这让我想知道java从哪里获得了界面的灵感.它主要是他们自己的创作吗?它是基于完全抽象基类(具有多重继承)吗?

Sea*_*ean 7

在我最近阅读的Objective-C一书中Learn Objective-C on the Mac,作者提出Java接口的主要灵感来自Objective-C的Formal Protocols实现.

Obj-C中的形式协议就像Java的接口一样,填充了抽象方法 - 或者显然只是方法标题 - 如果使用形式化协议,开发人员必须实现这些方法.在Apple的Cocoa的最新更新中,Formal Protocols还可以包含开发人员在类实现协议时不需要实现的可选方法.

  • Java设计团队非常了解Objective-C设计团队,后来当NeXTStep开始盘旋时,很多人跳槽并加入了Sun. 协议不是他们从Objective-C中获取的唯一东西,实际上整个对象模型甚至几乎整个语言都来自Objective-C.Java几乎是Objective-C - C + GC. (3认同)

Mik*_*ike 6

我认为Java的设计者意识到使用多个实现继承存在很多缺陷,但仍希望能够多次继承.因此,解决方案是多接口继承.

另外,从上一个链接:

相反,Java的设计者选择通过使用接口来允许多个接口继承,这是一个借鉴Objective C协议的想法.多接口继承允许对象继承许多不同的方法签名,但需要注意的是继承对象必须实现这些继承的方法.

所以,肖恩确实是对的.