我最近一直在尝试研究PHP,但发现自己迷上了特质。我了解水平代码重用的概念,并且不想一定要从抽象类继承。我不明白的是:使用特征和接口之间的关键区别是什么?
我曾尝试搜索一篇不错的博客文章或文章,解释何时使用一种或另一种,但到目前为止,我发现的示例似乎是如此相似,以至于完全相同。
接口定义了实现类 必须 实现的一组方法。
当一个特征被使用时use,这些方法的实现也会随之而来-这在Interface。中不会发生。
use
Interface
那是最大的不同。
从PHP RFC的水平复用:
特性是一种在PHP等单一继承语言中重用代码的机制。特性旨在通过使开发人员能够在生活在不同类层次结构中的几个独立类中自由重用方法集,从而减少单一继承的某些限制。