php - 特性与接口(interface)

标签 php interface traits

我最近一直在努力学习 PHP,但我发现自己对 trait 很着迷。我理解水平代码重用的概念,并且不想一定要从抽象类继承。我不明白的是:使用特征与接口(interface)之间的关键区别是什么?

我曾尝试寻找解释何时使用其中一个的不错的博客文章或文章,但到目前为止我发现的示例看起来非常相似,以至于完全相同。

最佳答案

接口(interface)定义了一组方法,实现类 必须实现。

当特征是 use方法的实现也会出现——这不会发生在 Interface 中.

这是最大的不同。

来自 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.

关于php - 特性与接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9205083/

相关文章:

c# - 混淆多接口(interface)实现

c# - 转换所有参数、返回类型、类定义以使用接口(interface)

groovy - 使用 Groovy 特征编写 Geb 页面

php - 服务器/本地主机之间的不同环境正在改变日期格式 - php pdo mysql/oci

php - 关闭 session 并开始新的 session

php - 如何区分 phalcon 框架 Controller 中的多个按钮操作?例子;提交和更新以及清除按钮

php - phpbench 中的革命和迭代有什么区别?

InputVerifier 中的 Java 接口(interface)

rust - 为什么盒装变量需要显式类型才能传递给函数?

PHP 特征 - 定义通用常量