博主信息
虞者自愚的博客
博文
42
粉丝
3
评论
2
访问量
23652
积分:0
P豆:349

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

2018年05月04日 09:48:11阅读数:648博客 / 虞者自愚的博客/ PHP作业

父类

实例

<?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举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • ,java中方法写和是多态不同表现;其中写(Overriding)是之间多态一种表现,(Overloading)是一个中多态一种表现。
    在继承时候,首先运行构造函数,也就是说,运行时会先调用构造函数。构造函数一般用来初始化成员和成员方法。
    多态是继封装、继承之后,面向对象第三大特。多态体现为引用变量可以指向对象。在使用多态后引用变量调用方法时,会调用写后方法。
    Java中使用继承时需要注意:1、java中只有单继承,接口有多继承;2、继承,可以得到全部和方法,但是不一定能直接方法。
    java中区别:1、发生在本写发生在之间;2、方法名必须相同,方法名相同且返回值型必须相同;3、参数列表不同,参数列表必须相同。
    方法是指在一个中定义多个同名方法,但要求每个方法具有不同参数型或参数个数。​方法,既可以发生在普通方法上,也可以发生在构造方法上。
    区别:写是允许访问方法实现过程进行新编写,方法名和参数列表相同,返回值和形参都不能改变。
    本文来自java入门教程,文中为大家介绍了继承及关键字相关知识,具有一定参考价值,希望可以帮助到大家。拥有非private和方法;继承提高了之间耦合
    java三大特:1、封装,是指隐藏对象和实现细节,仅对外提供公共访问方式;2、继承,从已有中派生出新,新能吸收已有数据和行为,能力;3、多态,一个方法可以有多种实现版本
    这里指是针对数组或字符串或伪数组(就是似于数组这样可以用下标将每一项取出来,且有总体长度数据,以下简称为可遍历对象)
    php中是指Hook机制,它是从windows编程中流行开一种技术,其主要思想是提前在可能增加代码地方预设一个钩,当我们需要新修改代码时,把或者方法挂到这个点即可。
    yii框架:首先在模型声明一个来储存文件名称。