博客列表 >类属性类自动加载与类继承+2018年5月5日12时47分

类属性类自动加载与类继承+2018年5月5日12时47分

KongLi的博客
KongLi的博客原创
2018年05月05日 12:46:49747浏览

类的属性创建,类属性的初始化、以及类的继承跟子类为基类添加属性初始化,并且重写基类中的方法

具体如下:


基类:

<?php
/医院
 * Created by PhpStorm.
 * User: John
 * Date: 2018/5/5
 * Time: 11:42
 */

//汽车类
class Cart
{
    //创建受保护的属性
    protected $type; //类型
    protected $brands; //品牌
    protected $speed; //时速

    //添加构造方法
    public function __construct($type,$brands,$speed)
    {
        //初始化属性
        $this->type = $type;
        $this->brands = $brands;
        $this->speed = $speed;
    }

    //创建公共运输方法
    public function transport()
    {
        return '煤运';
    }
}


子类:

<?php
/医院
 * Created by PhpStorm.
 * User: John
 * Date: 2018/5/5
 * Time: 11:53
 */

//运输车类,继承汽车类
class TransportCart extends Cart
{
    //为类型创建取值方法
    public function __get($name)
    {
        return $this->$name;
    }

    //为基类增加属性
    private $colour; //颜色
    private $seat; //座位

    //调用基类的构造方法对当前属性进行初始化,并重写
    public function __construct($type, $brands, $speed,$colour,$seat)
    {
        //调用的是基类的构造方法初始化
        parent::__construct($type, $brands, $speed);

        //初始化子类属性
        $this->colour=$colour;
        $this->seat=$seat;
    }

    //重写基类中的方法,给它添加多功能
    public function transport()
    {
        //返回基类中的结果,并且子类中的结果也一并返回
        return parent::transport().','.'运土'; // TODO: Change the autogenerated stub
    }

}


测试类:

使用匿名函数自动添加类实现引用

<?php
/医院
 * Created by PhpStorm.
 * User: John
 * Date: 2018/5/5
 * Time: 12:00
 */

//使用匿名函数自动加载类
spl_autoload_register(function ($className){
    require $className.'.php';
});

$transports = new TransportCart('大卡车','东风','200km/h','红色','4位');

//获取受保护的属性并输出
echo '类型:' . $transports->type.'<br>';
echo '品牌:' . $transports->brands.'<br>';
echo '时速:' . $transports->speed.'<br>';
echo '颜色:' . $transports->colour.'<br>';
echo '限座:' . $transports->seat.'<br>';

//在子类中调用基类中的方法
echo '这辆车的工作是:'.$transports->transport();


结果:

QQ截图20180505124717.png

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