批改状态:未批改
老师批语:
类的属性创建,类属性的初始化、以及类的继承跟子类为基类添加属性初始化,并且重写基类中的方法
具体如下:
基类:
<?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();结果:

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号