zoukankan      html  css  js  c++  java
  • PHP中的trait

    PHP中的trait

    一、前言

           自PHP 5.4.0起,PHP 实现了代码复用的一个方法,称为 trait。trait其字面意思是"特性"、"特点"。使用Trait关键字,可以为PHP中的类添加新的特性。

           trait 是一种为类似 PHP 的单继承语言而准备的代码复用机制。在PHP中,只能实现单继承,而trait则避免了这点。

           PHP中的traits可以理解为一组能被不同的类都能调用到的方法集合,但Traits不是类!不能被实例化。

    二、实现代码 

           Log.php

     

            Publish.php

     

            Answer.php

     

           总结:继承的方式虽然也能解决问题,但其思路违背了面向对象的原则,显得很粗暴;多态方式也可行,但不符合软件开发中的DRY(Don't Repeat Yourself)原则,增加了维护成本。而Trait方式则避免了上述的不足之处,相对优雅的实现了代码的复用。

    三、优先级

           Trait应用中的优先级如下:

           1)来自当前类的成员覆盖了 trait 的方法

           2)trait 覆盖了被继承的方法

          总结:类成员优先级为: 当前类>Trait>父类

    参考链接:

    https://segmentfault.com/a/1190000008009455#item-1-3

  • 相关阅读:
    TDengine社区版
    进程&线程
    I2总线
    S3C2440的GPIO编程
    NPN&PNP
    旁路电容和去耦电容
    战胜C语言中令人头疼的问题
    今天神经有点大。。
    JZs3c2440裸板程序GPIO操作总结
    JZs3c2440学习笔记一
  • 原文地址:https://www.cnblogs.com/hld123/p/12684192.html
Copyright © 2011-2022 走看看