博主信息
博文 45
粉丝 2
评论 1
访问量 32544
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
2018年5.4 17:20子类在父类的扩展,重载父类的属性
哈的博客
原创
811人浏览过

总结:

 1.类继承:在子类上使用关键字extends

 2.php不支持多继承,仅允许从一个父类上继承

  3.父类又叫超类或基类,通常只提供一些最基本的功能

  4.子类又叫派生类,可以继承父类中的公共和受保护的成员

实例

<?php
class Index
{
	// public $brand;
	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 '学习';
}

}

<?php
/**
 * 1.类继承:在子类上使用关键字extends
 * 2.php不支持多继承,仅允许从一个父类上继承
 * 3.父类又叫超类或基类,通常只提供一些最基本的功能
 * 4.子类又叫派生类,可以继承父类中的公共和受保护的成员
 * 
 * 子类的功能是用来扩展或重载父类的某些功能
 */
class Index1 extends Index
{
	//创建查询器,实现外部访问
	public function __get($name)
	{
		return $this->$name;
	}

	//对父级进行扩展,增加新的属性
	private $camera=false;
	private $internet=false;
	//必须使用构造方法使新增属性生效
	public function __construct($brand,$model,$price,$camera,$internet)
	{
		//调用付类的构造器初始化属性
		parent::__construct($brand,$model,$price);
		$this->camera=$camera;
		$this->internet=$internet;
	}
//新增的方法,扩展父类的方法
public function geme()
{
	return '玩游戏';
}

//将父类方法进行重写,功能重载,必须使用与父类一样的方法名call()
public function call()
{
	// return '看电影,听歌,导航';
	//更多时候我们只是在上面编辑新的功能
	return parent::call().'看电影,听歌,导航';
}

}

<?php
//使用自动加载器来加载类
spl_autoload_register(function($className){
	require './'.$className.'.php';
});
$index1 = new Index('MIUI','5plus',1600,true,true);

//输出父级的属性
echo '品牌:'.$index1->brand.'<br>';
echo '型号:'.$index1->model.'<br>';
echo '价格:'.$index1->price.'<br>';
//输出子类扩展的属性
echo '看视频:'.($index1->camera?'支持':'不支持').'<br>';
echo '上网:'.($smartPhone->internet?'支持':'没有').'<br>';

运行实例 »

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

子类的功能是用来扩展或重载父类的某些功能


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学