trait是一种为类似 PHP 的单继承语言而准备的代码复用机制。
trait和一个类相似,trait 不能通过它自身来实例化,应用类的成员不需要继承。
总结:
trait会覆盖调用类继承的父类方法
trait无法如 Class 一样使用 new 实例化
单个 trait可由多个 trait组成
在单个 Class 中,可以使用多个 trait
实例
<?php /医院 * Created by PhpStorm. * User: Administrator * Date: 2018/5/9 * Time: 8:53 */ class Road { protected $roadName; public function __construct($name = '清源路日辉路') { $this->roadName = $name; } public function type($type = '城市道路') { return $this->roadName . '是' . $type; } } trait other { public $direction; public function direction($numbers) { return $this->roadName . '方向数:' . $numbers; } public function type($type = '高速道路') { return $this->roadName . '是' . $type; } } class Option extends Road { use other; } $road = new Option('S223线爱民路'); echo $road->type();
运行实例 »
点击 "运行实例" 按钮查看在线实例