接口允许您创建定义实现它的类的方法的代码。但是,您不能向这些方法添加任何代码。
抽象类使您可以做同样的事情,并向方法中添加代码。
现在,如果您可以使用抽象类实现相同的目标,为什么我们甚至需要接口的概念?
有人告诉我,它与从C
++到Java的OO理论有关,这是PHP的OO东西所基于的。这个概念在Java中有用但在PHP中没有用吗?这只是一种避免在抽象类中乱扔占位符的方法吗?我想念什么吗?
接口的全部目的是使您能够灵活地使您的类被强制实现多个接口,但仍不允许多重继承。从多个类继承的问题很多,而且各种各样,其上的Wikipedia页面对此进行了很好的总结。
接口是一种折衷。多重继承的大多数问题都不适用于抽象基类,因此,当今大多数现代语言都禁用多重继承,但调用了抽象基类接口,并允许一个类“实现”所需的任意多个。
问题内容: 我是Java程序员,正在学习使用Go语言编程。到目前为止,我真的很喜欢这种语言。比Java多得多。 但是有一件事我有点困惑。Java具有接口,因为类只能从一个类继承。由于Go允许多重继承,所以接口的意义是什么? 问题答案: 多态性 接口使函数具有“占位符”参数,该参数可以采用不同的结构作为参数。例如,如果结构Man,Woman,Child实现了Human接口,则参数为Human的方法可
问题内容: 我已经看过几次了,但我不清楚它的含义。您何时以及为什么要这样做? 我知道接口的作用,但是我不清楚这一点,这让我觉得我错过了正确使用它们的机会。 如果要这样做,是否只是这样: 您可以使用任何实现的类吗?您什么时候需要这样做?我唯一能想到的是,如果您有一个方法并且不确定要实现的对象将传递什么对象。我想不出您需要多久这样做一次。 另外,如何编写一个方法来接受实现接口的对象?那可能吗? 问题答
问题内容: 好的,这可能有点钝了,但是Node.js的目的/需求是什么 我主要通过CloudFoundry注意到了它,但是不太确定它应该做什么。但是我猜想它可能相当大,因为为什么VMWare会支持它。 提前致谢。 问题答案: 这是一个… 高效且100%事件驱动的IO框架, 足够灵活,可以使用它可以找到的最佳基础操作系统功能, 以高级编程语言(客户端最有可能使用的相同语言)展示API, 在该语言的最
我今天遇到了,我不确定我是否理解它的用途。。。在Spring文档中,它说 允许同一类处理多个请求类型的控制器实现。这个类的子类可以用表单的方法处理几种不同类型的请求 在另一个网站上,他们说 它将多个请求处理方法聚合到单个控制器中,因此相关功能可以很容易地保持在一起。 我仍然不明白扩展与下面的相比是更好还是不同?或者,更像是旧版本Spring的遗留产品?我觉得我有一些基本的误解。。。
在UNIX中,我应该编写一个Java文件,将“exit 1”打印到标准错误,然后以1的状态退出。 这是我的方法。 如果是,我应该如何在Unix shell中使用它?当我在bash中编译并运行它时,它只是打印“exit 1”(所以它做了与System.out.println相同的事情,为什么我要使用“err”?)。这里的“标准误差”是什么?
这点我见过提过几次,但我不清楚是甚么意思。你什么时候为什么要这么做? 我知道接口是做什么的,但我不清楚这一点的事实使我认为我错过了正确使用它们。 如果你要做: 您可以使用任何实现的类?你什么时候需要这么做?我唯一能想到的是,如果您有一个方法,但您不确定会传递什么对象,除了它实现。我想不出你需要多长时间这样做一次。 另外,如何编写一个方法来接受一个实现接口的对象呢?有可能吗?