批改状态:合格
老师批语:
类的重载与扩展,
第一步,先写个基本类再说
<?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";
}
});点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号