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();
    

  

猜你喜欢

转载自www.cnblogs.com/fantianlong/p/10193255.html