php重载父类属性,子类重载父类并扩展父类的属性

本文通过一个实例展示了PHP中如何创建父类`KsInfo`来表示考生基础信息,并创建子类`KaoShi`继承父类,扩展了考试成绩的相关属性,如总分、各科分数和平均分。通过`__get`魔术方法实现对外部访问父类保护属性的权限控制。此外,还展示了如何使用自动加载器加载类并初始化对象,以及如何展示和访问这些扩展属性。
摘要由CSDN通过智能技术生成

父类

实例

/**

* 创建父类:KsInfo 考生基础信息

*/

class KsInfo

{

protected $name;

protected $age;

protected $sex;

protected $mobile;

//构造方法

public function __construct($name='',$age=0,$sex=0,$mobile=0)

{

$this->name = $name;

$this->age = $age;

$this->sex = $sex;

$this->mobile = $mobile;

}

}

运行实例 »

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

子类

实例

// * 创建:考试成绩类: KaoShi

class KaoShi extends KsInfo

{

//创建查询器,实现了外部访问 父类使用的protected 不能外部使用,子类需要public创建查询器

public function __get($name)

{

return $this->$name;

}

//对父类属性进行扩展,增加新的特征

private $fenshu = [95,91,92,95,94,98,96,90,92];  //各科分数

private $zongfen = 843;  //总分

private $pjf = 93.67;   //平均分

}

运行实例 »

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

运行代码

实例

//使用自动加载器来加载类

spl_autoload_register(function($className){

require './class/'.$className.'.php';

});

$kaoshi = new Kaoshi('苏三',16,1,13888888888);

echo '姓名: ',$kaoshi->name,'
';

echo '年龄: ',$kaoshi->age, '
';

echo '性别:'.($kaoshi->sex?'男':'女').'
';

echo '手机: ',$kaoshi->mobile, '
';

echo '


';

echo '下面是子类扩展的属性
';

echo '总分: ',$kaoshi->zongfen, '
';

echo '各科分数: ', print_r($kaoshi->fenshu,true), '
';

echo '平均分: ',$kaoshi->pjf, '
';

echo '


';

$kaoshi = new KaoShi('李四',16,0,15666666666,846,[95,91,92,95,94,98,96,90,92],93.68);

echo '姓名: ',$kaoshi->name,'
';

echo '年龄: ',$kaoshi->age, '
';

echo '性别:'.($kaoshi->sex?'男':'女').'
';

echo '手机: ',$kaoshi->mobile, '
';

echo '总分: ',$kaoshi->zongfen, '
';

echo '各科分数: ', print_r($kaoshi->fenshu,true), '
';

echo '平均分: ',$kaoshi->pjf, '
';

运行实例 »

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

14f96a853f6dda7237cae6ac6a27e6e0.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值