2014-01-28 15 views
0

在學習PHP時,我閱讀了我熟悉的類和接口。PHP中的特質和使用它的正確案例

性狀,我是新來的。它被描述爲與抽象類相似的單獨模塊,但使用不同的繼承方法:特徵可以是從另一個特徵繼承,並且包括

我還沒有看到其他常見的面向對象的語言此功能之前,這樣的問題是:

  • 哪個角色特質的面向對象設計的PHP玩?

回答

2

有時兩個沒有任何共同點(因此不共享祖先)的類仍然可以從代碼重用中受益。

特徵讓你從類中提取常用功能到特徵中,並在其他類中重用它。他們不承受繼承的語義權重。

例如,如果您可以在User s和Article s上發表評論,他們都可以使用Commentable特徵。

如果這樣的構圖是面向對象設計的好或壞做法,這是一個熱點問題。

另外,它以modules的形式在Ruby中被廣泛使用。

相關問題