批改状态:合格
老师批语:
一、知识点
1,自动加载技术
随着类越来越多,每次引用类文件需要使用require语句加载一个文件,比较繁琐容易出错。使用自动加载函数后只需定义类绝对路径即可,随着使用步骤自动加载类文件。
2。父类、子类继承
子类继承父类后,可以只需实例化子类即可使用父类中的属性和方法,无需实例化父类。
子类可以对父类中的方法、属性重新定义,但是常规不这么使用。为对父类中的功能进行扩展。
二、源码部分(带注释)
1.USER类
<?php
/**
* Created by PhpStorm.
* User: zhouf
* Date: 2018-05-06
* Time: 11:00
*/
class User
{
protected $id;
protected $username;
protected $password;
public function __construct($id='',$username='',$password='')
{
$this->id=$id;
$this->username=$username;
$this->password=$password;
}
public function __get($name)
{
return $this->$name;
}
public function __set($name, $value)
{
$this->$name=$value;
}
public function user_group()
{
return "普通用户";
}
}点击 "运行实例" 按钮查看在线实例
2,VIP类
<?php
/**
* Created by PhpStorm.
* User: zhouf
* Date: 2018-05-06
* Time: 11:51
*/
class Vip extends User
{
protected $vip=1;
public function __construct($id = '', $username = '', $password = '',$vip='')
{
parent::__construct($id, $username, $password);
$this->vip=$vip;
}
public function __set($name, $value)
{
$this->$name=$value;
}
public function Show_v(){
return "子类VIP:".($this->vip).":".parent::user_group();
}
}点击 "运行实例" 按钮查看在线实例
首页应用及自动加载
<?php
/**
* Created by PhpStorm.
* User: zhouf
* Date: 2018-05-06
* Time: 11:00
*/
//类的自动加载无需多次引用
spl_autoload_register(function ($class_name){
require "$class_name".'.php';
});
//$a=new User("1001","zhoufan","123456");
//
//echo "用户组:".$a->user_group();
//echo "<hr>";
//echo "用户名:".$a->username;
$b=new Vip();
//设置子类属性访问子类属性
$b->vip=true;
echo $b->Show_v();
//通过子类访问父类属性;
echo "<hr>";
echo $b->user_group();
echo "<hr>";
$b->password="zzzbbbvv";
echo $b->password;点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号