我最近一直在努力研究PHP,我发现自己陷入了特质.我理解水平代码重用的概念,而不是必须从抽象类继承.我不明白的是:使用特征与接口之间的关键区别是什么?
我已经尝试过寻找一个体面的博客文章或解释何时使用其中一个的文章,但到目前为止我发现的例子看起来非常相似.
解决方法:
接口定义了实现类必须实现的一组方法.
当使用特征时,方法的实现也会出现 – 这在接口中不会发生.
这是最大的不同.
从Horizontal Reuse for PHP RFC:
Traits is a mechanism for code reuse in single inheritance languages such as PHP. A Trait is intended to reduce some limitations of single inheritance by enabling a developer to reuse sets of methods freely in several independent classes living in different class hierarchies.