Blogger Information
Blog 41
fans 0
comment 0
visits 29580
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
0613作业2019年06月14日12:17:31
Viggo的博客
Original
814 people have browsed it

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

姓名和性别是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('小明');

运行实例 »

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


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post