博客列表 >一个简单的trait实例——2018年5月7日

一个简单的trait实例——2018年5月7日

JackBlog
JackBlog原创
2018年05月09日 10:16:33736浏览

trait是一种为类似 PHP 的单继承语言而准备的代码复用机制。

trait和一个类相似,trait 不能通过它自身来实例化,应用类的成员不需要继承。

总结:

trait会覆盖调用类继承的父类方法

trait无法如 Class 一样使用 new 实例化

单个 trait可由多个 trait组成

在单个 Class 中,可以使用多个 trait


QQ截图20180509101718.png


实例

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

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议