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

  • 相关阅读:
    SVN服务器搭建和使用(三)
    SVN服务器搭建和使用(二)
    SVN服务器搭建和使用(一)
    mysql和oracle分页
    Windows许可证 即将过期
    Java 设计模式学习笔记1——策略模式(Duck例子)
    java 抽象类与接口
    java servlet练习测试
    windows 添加开始菜单
    visio连接线设置
  • 原文地址:https://www.cnblogs.com/hld123/p/12684192.html
Copyright © 2011-2022 走看看