类的重载与扩展,
第一步,先写个基本类再说
实例
<?php /** * User: Z先生 * Date: 2018/5/4 * 基类,父类 */ class Car { protected $name; protected $money; function __construct($name,$money) { $this->name = $name; $this->money = $money; } public function run(){ return '跑的快'; } }
运行实例 »
点击 "运行实例" 按钮查看在线实例
基本类呢,就是相当于类的基本描述
下边因为要运用不同的场景,所有呢,类的扩展也就不一样
实例
<?php /** * User: Z先生 * Date: 2018/5/4 */ class CarBC extends Car { function __get($name) { return $this->$name; } //扩展父类属性 protected $color; function __construct($name, $money,$color) { parent::__construct($name, $money); $this->color=$color; } public function very(){ return '越野'; } //扩展run方法 public function run() { return parent::run().',漂亮'; } }
运行实例 »
点击 "运行实例" 按钮查看在线实例
写完了总的实例化看看了对挖
实例
<?php //类的自动加载 spl_autoload_register(function ($name){ $path = __DIR__.'/'.$name.'.php'; if(file_exists($path) && is_file($path)){ // include $name.'.php'; 这两种方式都可以 include "$path"; } }); $a=new CarBC('奔驰','2699','红'); echo '品牌:'.$a->name.'<br>'; echo '价格:'.$a->money.'<br>'; echo '颜色:'.$a->color.'<br>'; echo '特点:'.$a->run().'<br>'; echo '好处:'.$a->very().'<br>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
/******************************************/
在补充一个类的自动加载,
实例
//类的自动加载 spl_autoload_register(function ($name){ $path = __DIR__.'/'.$name.'.php'; if(file_exists($path) && is_file($path)){ // include $name.'.php'; 这两种方式都可以 include "$path"; } });
运行实例 »
点击 "运行实例" 按钮查看在线实例