博客列表 >子类重载父类并扩展父类的属性

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

虞者自愚的博客
虞者自愚的博客原创
2018年05月04日 09:48:111070浏览

父类

实例

<?php

/**
 * 创建父类: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;
    }
}

运行实例 »

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


子类

实例

<?php

 // * 创建:考试成绩类: 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;   //平均分

}

运行实例 »

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

运行代码

实例

<meta charset=utf-8>
<?php


//使用自动加载器来加载类
spl_autoload_register(function($className){
    require './class/'.$className.'.php';
});

$kaoshi = new Kaoshi('苏三',16,1,13888888888);
echo '姓名: ',$kaoshi->name,'<br>';
echo '年龄: ',$kaoshi->age, '<br>';
echo '性别:'.($kaoshi->sex?'男':'女').'<br>';
echo '手机: ',$kaoshi->mobile, '<br>';

echo '<hr>';
echo '下面是子类扩展的属性<br><br>';

echo '总分: ',$kaoshi->zongfen, '<br>';
echo '各科分数: ', print_r($kaoshi->fenshu,true), '<br>';
echo '平均分: ',$kaoshi->pjf, '<br>';


echo '<hr>';


$kaoshi = new KaoShi('李四',16,0,15666666666,846,[95,91,92,95,94,98,96,90,92],93.68);
echo '姓名: ',$kaoshi->name,'<br>';
echo '年龄: ',$kaoshi->age, '<br>';
echo '性别:'.($kaoshi->sex?'男':'女').'<br>';
echo '手机: ',$kaoshi->mobile, '<br>';
echo '总分: ',$kaoshi->zongfen, '<br>';
echo '各科分数: ', print_r($kaoshi->fenshu,true), '<br>';
echo '平均分: ',$kaoshi->pjf, '<br>';

运行实例 »

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

2.png

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