php 5.4.17,2018年5.4 17:20子类在父类的扩展,重载父类的属性

本文介绍了PHP中的类继承概念,包括使用`extends`关键字创建子类,PHP不支持多继承,只能从一个父类继承。父类提供基本功能,子类可以扩展或重载这些功能。示例中展示了如何在子类中添加新属性和方法,以及如何重写父类方法。通过实例展示了子类如何访问和扩展父类的属性和方法。
摘要由CSDN通过智能技术生成

总结:

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

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

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

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

实例

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 '学习';

}

}

/**

* 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().'看电影,听歌,导航';

}

}

//使用自动加载器来加载类

spl_autoload_register(function($className){

require './'.$className.'.php';

});

$index1 = new Index('MIUI','5plus',1600,true,true);

//输出父级的属性

echo '品牌:'.$index1->brand.'
';

echo '型号:'.$index1->model.'
';

echo '价格:'.$index1->price.'
';

//输出子类扩展的属性

echo '看视频:'.($index1->camera?'支持':'不支持').'
';

echo '上网:'.($smartPhone->internet?'支持':'没有').'
';

运行实例 »

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值