【发布时间】:2015-01-10 12:49:33
【问题描述】:
似乎我在这里遗漏了一些东西。我不明白它们有什么用?
含义:类之间的简单继承,能不能给出相同的结果?!
而且,更准确地说:Interface 是 - 据我了解 - 一个 .. 函数名称列表。仅此而已。
那么,附加值是多少?
至于Abstract,好像是一个根本无法实例化的简单类,它的作用就是强制子类,继承一些方法。
再说一遍 - 附加值是什么?
这两种行为都可以使用常规类来实现。或者只是避免它(当涉及到Interface 对象时)
另外,请不要指向我重复的内容,我已经阅读了所有内容。他们解释了什么是抽象和接口,但没有回答我的问题。
谢谢。
【问题讨论】:
-
请澄清问题,因为,我看到了 2 个问题
-
而且我根本没有看到适合 SO 的问题。如果其他资源解释了这些构造是什么,他们应该解释它们有什么好处,或者它是微不足道的。如果两者都不是,则需要寻找其他资源
-
您正在构建一个系统,并且希望保持对所构建内容以及您编写的对象 API(公共方法)的控制。如果您想强制某人实现特定方法以允许多态性(并在将来轻松切换类),然后告诉他们实现您的接口,当您切换出来时它会继续工作。如果你想强制一个接口,以及一些功能,使用带有抽象方法的抽象类:你可以定义一些基础功能并且任何抽象方法都必须被覆盖,就像一个界面。
-
interface提供了需要实现的功能列表。你不能在普通班上做到这一点。abstract类的优点是,你不能产生抽象的东西。不会与普通班级一起工作。您应该认为大型项目需要这些机制来理清关系并让一切正常工作。
标签: php oop inheritance interface abstract-class