代码之家  ›  专栏  ›  技术社区  ›  Jordão

Java是否创建了接口?

  •  10
  • Jordão  · 技术社区  · 14 年前

    我知道C++的纯虚拟类,但是Java更进一步,为多个接口(非实现)继承创建了一个一流的(没有双关语)的概念。 interface . 它现在是主要静态类型语言的主要部分。Java发明了接口概念吗?或者它在旧的语言中也作为一个一流的概念出现了吗?

    7 回复  |  直到 6 年前
        1
  •  16
  •   Sharjeel Aziz    14 年前

    这里是从Java语言环境中抽象出来的。

    Java语言中的接口仅仅是对象声明实现的方法的规范。接口不包含实例变量或实现代码——只包含常量和方法的声明。Java语言中的接口的概念是从 目标C协议的概念 .

    http://java.sun.com/docs/white/langenv/Object.doc2.html#6185

        2
  •  5
  •   ahe    14 年前

    据我所知,Objective-C是第一种具有接口特性的语言。至少在Java发明之前就有了。

        3
  •  4
  •   Jacob G    14 年前

    我很确定iNoSee和IDIS补丁存在于Java之前…但那是COM,它不是真正的语言。

        4
  •  2
  •   Andrey    14 年前

    甚至在Java之前,在C++接口中调用了没有字段的纯虚拟类。Java接口后面的想法是去除讨厌的多重继承,因为它在C++中,但留下相似的能力。

        5
  •  1
  •   Crozin    14 年前

    我确信Java开发人员并没有发明接口的概念,但他们推广了它们。

        6
  •  1
  •   Tom Hawtin - tackline    14 年前

    CORBA使用的IDL,我相信可以追溯到80年代早期。

        7
  •  0
  •   Louki Sumirniy    6 年前

    我喜欢界面,但我刚刚开始学习如何使用它们。在编程语言中存在的最灵活和最强大的接口系统是GO,但正如人们指出的那样,Java推广了它们,但它们在20年前就存在了,我希望我能记住前几天发现的语言,从我认为的G开始,也许是关于矿物或花的名字。

    接口的中心原则是围绕它们如何传递值来创建事物的描述。它们创建了一种方法,将具有某些用途的数据块传递给具有非常接近的用途的另一个表单。接口通常使用命名方案来表示接口定义以多个事物之间的抽象共性为中心。在编程中,所有内容都归结为字节,因此您可以围绕共享字节构建接口,这总是有一些常见的特性。

    从实际意义上讲,接口是一组方法,它围绕着一个您没有指定的数据类型,只是含糊其辞。Go会教你如何使用界面。接口在最为面向对象的语言中表现最突出,如OP、Java,但据我所知,GO具有最强大的接口系统。go是静态类型的,但接口类型对go中的数据没有约束。只有通过接口可以传递的类型定义的限制。

    我刚刚开始学习如何用接口编程,但是Go程序员的经验所获得的许多智慧对于任何对接口感兴趣的人都是有用的。接口需要紧凑和功能性。通常,您不需要定义接口,因为数据太不同了。可能用于存储和传输,所有数据==所有数据。这就是接口的用途。两个不同的系统,它们共享什么数据结构。这正是一个接口。