博客列表 >0613作业2019年06月14日12:17:31

0613作业2019年06月14日12:17:31

Viggo的博客
Viggo的博客原创
2019年06月14日 12:20:04807浏览

创建一个学生类,包含学生的姓名、性别、年龄、成绩、。

姓名和性别是public 年龄是 protected 成绩是 private

实例

<?php

class student
{
    public $name;
    public $gender;
    protected $age;
    private $grade;

    public function __construct($name,$gender,$age,$grade)
    {
        $this->name = $name;
        $this->gender = $gender;
        $this->age = $age;
        $this->grade = $grade;
    }

    public function getInfo()
    {
        $res = '学生信息';
        $res .= '<br>姓名: '.$this->name;
        $res .= '<br>性别: '.$this->gender;
        $res .= '<br>年龄: '.$this->age;
        $res .= '<br>成绩: '.var_export($this->grade,true);
        echo $res;
    }

//    private 私有成员属性
    public function getGrade($ver)
    {
        return $ver === '梁伟' ? var_export($this->grade,true) : '你没有权限查看';

    }
}

$info = new student('梁伟','男',34,[80,90,95]);
echo $info->getInfo();
//此时无法用 $info->grade 访问  protected private 私有成员属性; private $grade可以用提供的方法来访问
echo '<br>';
echo $info->getGrade('梁伟');//必须要提供正确的参数才可以访问


echo '<br>';
//------------------------------------------------------------------------------


class student1 extends student
{
//    新成员属性
    public $height;

//    重写父类的构造函数
    public function __construct($name, $gender, $age, $grade,$height)
    {
        parent::__construct($name, $gender, $age, $grade);
        $this->height = $height;
    }

//    重写父类的方法 名称与父类相同将会重写父类同名的方法
    public function getInfo()
    {
//        调用父类
        parent::getInfo(); // TODO: Change the autogenerated stub
//        新增加
        echo $this->height;
    }

    public function getGrade($ver)
    {
//        也可以改写父类定义的private属性返回的方法 利用调用父类的私有方法
        return $ver === '小明' ? parent::getGrade('梁伟') : '1你没有权限查看';
//        return parent::getGrade($ver); // TODO: Change the autogenerated stub
    }
}

$extStu = new student1('小明','男',18,[40,50,60],'140cm');
$extStu->getInfo();
//调用子类改写的私有属性成员方法
echo '<br>'.$extStu->getGrade('小明');

运行实例 »

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


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