博主信息
博文 46
粉丝 1
评论 1
访问量 37513
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
父类与子类--子类中扩展父类的属性,并重载父类的方法-----2018年5月3日
笨鸟先飞
原创
1162人浏览过

父类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举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学