Correction status:qualified
Teacher's comments:
总结:
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>';
点击 "运行实例" 按钮查看在线实例
子类的功能是用来扩展或重载父类的某些功能