Trait讲解

Posted fantianlong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Trait讲解相关的知识,希望对你有一定的参考价值。

<?php

/**
 * Trait解决PHP单继承的一种方法,使开发人员在不同层次结构的类中复用属性和方法
 * Trait无法实例化
 * Trait不是类,不能被继承,所以不能再Trait中不能声明抽象方法
 * Trait中无法声明常量
 * ThinkPHP中Trait有应用
 */

    //声明一个Trait
    trait Name
    {
        public function getName()
        {
            return ‘张三‘;
        }
    }

    //声明一个Trait
    trait Say
    {
        public function say() {
            return ‘world‘;
        }
    }

    //声明一个类
    class Lang
    {
        //导入Trait(导入多个Trait用,分隔)
        use Name,Say;

        public function sayPhp()
        {
            return ‘php‘;
        }
    }

   class Chinese extends Lang
   {
       public function show()
       {
           return $this->getName().‘会说‘.$this->say().‘,还会说‘.$this->sayPhp();
        }
   }

   $ch = new Chinese();
    echo $ch->show();
    

  

以上是关于Trait讲解的主要内容,如果未能解决你的问题,请参考以下文章

php如何实现多继承?

Scala入门:面向对象编程之Trait 详解

PHP trait 特性

PHP的Trait机制

php Trait的使用

PHP代码复用特殊类Trait的简要说明和相关举例