博客列表 >父类与子类--子类中扩展父类的属性,并重载父类的方法-----2018年5月3日

父类与子类--子类中扩展父类的属性,并重载父类的方法-----2018年5月3日

笨鸟先飞
笨鸟先飞原创
2018年05月04日 12:50:59971浏览

父类Computer.php:


实例

<?php
/**
 * 创建基类,父类:电脑类
 */

class Computer
{
    //使用范围
//   public : 在外部,内部,子类都可以用====公共的
//   private : 只能在类内部使用 === 私有的
//   protected :类内部、子类可用 === 受保护的

     protected $brand;
     protected $model;
     protected $price;

     //构造方法
    public function __construct($brand='',$model='',$price='')
    {
        $brand ? ($this->brand = $brand) : $this->brand;
        $model ? ($this->model = $model) : $this->model;
        $price ? ($this->price = $price) : $this->price;
    }

    public function internet()
    {
        return '网上冲浪';
    }

}

运行实例 »

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

子类:Hp_notebook.php


实例

<?php
/**
 * 继承关键字  : extends
 * HP_notebook:惠普笔记本电脑
 * HP_notebook继承至Computer
 * Computer:父类
 * HP_notebook:子类
 * 子类可以继承父类中的所有受保护的或公共成员
 *
 * 子类中的用途:扩展父类中的属性或者功能(方法进行重载,重写)
 */

class HP_notebook extends Computer
{
    //1.对父类的属性进行扩展,增加新的特征,全部设置为private
    private $color = '黑色';
    private $size = '15英寸';

    //构造方法
    public function __construct($brand = '', $model = '', $price = '',$color='',$size='')
    {
        //父类构造器中的属性初始化
        parent::__construct($brand, $model, $price);
        //子类构造器中的属性初始化
        $color ? ($this->color = $color) : $this->color;
        $size ? ($this->size = $size) : $this->size;
    }


    //获取器
   public function __get($name)
   {
      return $this->$name;
   }
  //增加新功能。方法
   public function game()
   {
       return '玩游戏';
   }
   //类方法的重写,重载,覆盖,(函数名一样);;;更多时候是需要把父类中进行功能扩展
   public function internet()
   {
       return parent::internet().',,,,,好玩啊';
   }
}

运行实例 »

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

php文件:demo2:


实例

<?php
/**
 * 类的继承与方法加载类
 */
require '../UTF/UTF-8.php';
spl_autoload_register(function($className){
    $path = __DIR__.'/class/'.$className.'.php';
    if(file_exists($path) && is_file($path)){
        require $path;
    }
});

$hp_notebook = new HP_notebook('惠普','ENVY','5300','白色','10英寸');

echo $hp_notebook->brand."<br>";
echo $hp_notebook->model."<br>";
echo $hp_notebook->price."元<br>";
echo $hp_notebook->color."<br>";
echo $hp_notebook->size."<br>";


echo $hp_notebook->Internet()."<br>";
echo $hp_notebook->game();

运行实例 »

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


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议