PHP中的特征和正确的案例来使用它

时间:2014-01-28 07:39:19

标签: php oop

在学习PHP的同时,我读到了我熟悉的类和接口。

特质,我是新手。它被描述为单独的模块,类似于抽象类,但使用不同的继承方法:trait可能是从其他trait继承包含在类中。

之前我还没有在其他常见的OO语言中看到过这个功能,所以问题是:

  • 哪些角色特征在PHP中面向对象设计中起作用?

1 个答案:

答案 0 :(得分:2)

有时两个没有任何共同点(因此不共享祖先)的类仍然可以从代码重用中受益。

Traits允许您将类中的常用功能提取到特征中,并在其他类中重用它。他们不承担继承的语义权重。

例如,如果您可以在UserArticle上发表评论,则他们都可以使用Commentable特征。

如果这样的构图是一个好的或坏的面向对象设计的做法,是一个热议的问题。

此外,它以modules的形式在Ruby中广泛使用。