博客列表 >面向对象之抽象,接口,trait三个特殊类

面向对象之抽象,接口,trait三个特殊类

无耻的鱼
无耻的鱼原创
2018年05月08日 16:15:25622浏览

实例

<?php
/**
 * User: Z先生
 * Date: 2018/5/8
 */

class A
{
    protected $aa;
    protected $bb;

    public function __construct()
    {
        $this->aa = '张三';
        $this->bb = '李四';
    }
}


trait B
{
    public function get(){
        return $this->aa;
    }
    //抽象
    abstract public function set();
}
trait C
{
    public function get(){
        return $this->bb;
    }
}

class D extends A
{
    use B,C{
        //B的get方法代替了C的get方法
        B::get insteadof C;
        //C的get方法现在改名字了叫ccc
        C::get as ccc;
    }

    //抽象
    public function set()
    {
        return $this->bb.$this->aa;
    }


}


$a=new D();

echo $a->get();
echo $a->set();


//接口
//interface E
//{
//    public function pu();
//}
//
//class F implements E
//{
//    public function pu()
//    {
//       echo '我是接口类';
//    }
//}

/*
 * 接口,抽象,trait这三个异种类,不可以实例化接口和抽象中的方法只可以声明,starit中支持抽象类
 */

运行实例 »

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


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