Blogger Information
Blog 46
fans 3
comment 2
visits 39249
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP父类的继承和方法重写 2018年5月3日
墨雨的博客
Original
2737 people have browsed it

父类Customer.php

客户类,将客户的名称、地址、电话、联系人等基本信息定义为类的属性,并创建call()方法用于电话回访。


实例

<?php

/*
 * 客户类
 */

/**
 * Description of Customer
 *
 * @author Dell
 */
class Customer
{
    protected $name;  //名称
    protected $address;  //地址
    protected $phone;  //电话
    protected $linkman; //联系人
    public function __construct($name,$address,$phone,$linkman)
    {
    $this->name = $name;    
    $this->address = $address;    
    $this->phone = $phone;    
    $this->linkman = $linkman;    
    }
    public function call()   //回访
    {
        echo '电话回访';
        
    }
}

运行实例 »

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

子类RepairShops.php

客户群体中的修理厂类,继承了父类Customer.php的基本属性,同时新增了修理项目和用工人数2个属性,重写了父类方法call(),其中用parent::call()复用了父类方法。


实例

<?php

/*
 * 汽修厂类 继承 客户类
 */

/**
 * Description of RepairShops
 *
 * @author Dell
 */
class RepairShops extends Customer
{
    //创建查询器访问父类受保护的属性
    public function __get($name) {
        return $this->$name;
    }
    private $project; //维修项目
    private $repairman; //修理工人数
    public function __construct($name,$address,$phone,$linkman,$project,$repairman) {
       //调用父类构造器
        parent::__construct($name, $address, $phone, $linkman);
        $this->project = $project;
        $this->repairman = $repairman;
    }
    //重写父类方法
    public function call() {
        return parent::call().'.询问'.$this->project.'是不是要用'.$this->repairman.'个人?';
    }
}

运行实例 »

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

调用实例m.php


实例

<?php

/* 
 * 类的继承与方法重载
 * 
 */

//使用自动加载器来加载类:(简写版)
spl_autoload_register(function($className){
    require './class/'.$className.'.php'; 
});


$repair = new RepairShops('冀东汽修','曹妃甸区海港路','03155555555','凌云','保养变速箱',4);
//父类中的属性
echo '名称: '.$repair->name.'<br>'; 
echo '地址: '.$repair->address.'<br>'; 
echo '电话: '.$repair->phone. '<br>';
echo '联系人: '.$repair->linkman. '<br>';
//在子类中扩展的属性
echo '项目:'.$repair->project.'<br>';
echo '人数:'.$repair->repairman.'<br>';

//重写了的方法
echo $repair->call().'<br>';

运行实例 »

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

运行效果和截图

草图.png


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
1 comments
天蓬老师 2018-05-05 17:43:19
看到了曹妃甸,我笑了~~ 因为我也是半个唐山人
1 floor
Author's latest blog post