php - 抽象类的目的是什么?

标签 php oop interface abstract-class

我正在尝试学习 PHP 中的 OOP,但我对接口(interface)和抽象类有些困惑。它们都没有实现,只有定义,并且应该通过它们的子类来实现。抽象类的哪一部分清楚地将它们与接口(interface)区分开来?另外,由于它们明显的相似性,我应该基于什么原因决定使用一个而不是另一个?

最佳答案

可以创建包含具体成员的抽象类,例如方法或属性。您仍然无法直接实例化抽象类,但任何实例化的子类都可以从抽象类中定义的已实现成员中受益。

相比之下,接口(interface)从不包含任何实现逻辑。由每个实现类提供接口(interface)中定义的所有成员的实现。

就我如何看待差异而言,抽象的子类是该类型的一个类。例如 是一种动物。我将接口(interface)视为一种 的关系。例如ICanDisplayImages 告诉我实现类可以显示图像,但没有告诉我该类实际代表什么。

关于php - 抽象类的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2288467/

相关文章:

java - 如何从java中的链接列表中的节点检索对象的内容

c# - 需要初始化的接口(interface)实现

javascript - 是否可以在 TypeScript 注释中组合多种类型的成员?

c# - 没有实现接口(interface)成员错误

javascript - 使用 php 和 mysql 选项

php - 如何制作在windows中自动运行laravel项目的快捷方式

javascript - 在 JS 中向突出显示的文本添加标签不起作用

php - 数据库中的内容作为 html 形式文本区域的默认内容

algorithm - 算法的 OOP 与 PP

flash - 如何在ActionScript 3中删除/GC对象?