Blogger Information
Blog 34
fans 0
comment 0
visits 28407
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
503学习父类与子类,扩展父类属性并重载
1A7498的博客
Original
731 people have browsed it
<?php
spl_autoload_register(function($classname){//使用自动加载器来加载类
	require $classname.'.php';
});
$SPhone = new SPhone('xiaomi','note5',998,TRUE,TRUE);//初始化对象,验证parent::__contrunctor()
echo '品牌'.$SPhone->brand.'<br>';
echo '型号'.$SPhone->model.'<br>';
echo '价格'.$SPhone->price.'<br>';
echo '照相'.($SPhone->camera ? 'yes':'no').'<br>';//输出在子类中扩展的属性
echo '网络'.($SPhone->internet ? 'yes':'no').'<br>';
echo $SPhone->call().'<br>';//call()中包含父类的属性
echo $SPhone->game().'<br>';//game()是子类中的方法
?>
<?php
class SPhone extends Phone//创建无需代码即可访问父类成员
{
    public function __get($name)//创建查询器,实现了外部访问
    {
        return $this->$name;
    }
    
    //对父类属性进行扩展,增加新的特征,如果不在子类中使用,推荐设置为private
    private $camera = false;  //是否有照相功能
    private $internet = false; //是否有上网功能
    
    //必须使用构造方法对使用当前新增属性生效
    public function __construct($brand,$model,$price,$camera,$internet)
    {

        
        parent::__construct($brand, $model, $price,$camera,$internet);//调用父类构造器来简化子类的构造器初始化类属性
        
        $this->camera = $camera;
        $this->internet = $internet;
    }
    public function game()//扩展父类的功能
    {
        return '玩游戏';
    }
    public function call()//将父类方法进行重写,功能重载必须使用与父类一样的方法名:call()
    {
        return parent::call().',同时还能听歌,看视频';//应用父类并输出
    }
    
    
    
}
?>
<?php
class Phone{
	protected $brand;//设置私密属性
	protected $model;
	protected $price;
	public function __construct($brand,$model,$price)//调用类的成员变量
    {
        $this->brand = $brand;
        $this->model = $model;
        $this->price = $price;
    }
    
    public function call()
    {
        return '打电话';
    }
}
?>

QQ截图20180507175427.png

需要仔细理解spl_autoload_register,遇到手打无法使用的代码,复制的就可以使用,醉了

QQ截图20180507175549.png




Correction status:qualified

Teacher's comments:
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
  • 2018-03-16 11:39:01