博主信息
博文 26
粉丝 0
评论 0
访问量 21138
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
父类与子类
瘦不下来的博客
原创
1601人浏览过

创建父类和子类,子类加载父类:

父类代码:

实例

<?php

/**
 * 创建手机类:MobilePhone
 */
class MobilePhone
{
//    public $brand;
    protected $brand;
    protected $model;
//    private $price;
    protected $price;
    
    //构造方法
    public function __construct($brand,$model,$price)
    {
        $this->brand = $brand;
        $this->model = $model;
        $this->price = $price;
    }
    
    public function call()
    {
        return '打电话';
    }
}

运行实例 »

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

创建子类:

实例

<?php



class SmartPhone extends MobilePhone
{
    //1.无需任何代码,父类MobilePhone中的所有公共和受保护的成员,在当前类中可以直接访问
    
    
    //创建查询器,实现了外部访问
    public function __get($name)
    {
        return $this->$name;
    }
    
    //1.对父类属性进行扩展,增加新的特征,如果不在子类中使用,推荐设置为private
    private $camera = false;  //是否有照相功能
    private $internet = false; //是否有上网功能
    
    //必须使用构造方法对使用当前新增属性生效
    public function __construct($brand,$model,$price,$camera,$internet)
    {
//        $this->brand = $brand;
//        $this->model = $model;
//        $this->price = $price;
        
        /**
         * 你可能发现了,这上面的三行属性初始化语句,与父类构造器的语句完全一致
         * 所以,我们完全可以直接调用父类的构造器来简化子类的构造器
         */
        //调用父类构造器初始化类属性
        parent::__construct($brand, $model, $price);//一行顶三行
        
        $this->camera = $camera;
        $this->internet = $internet;
    }
    
    //2.增加新的方法,扩展父类的功能
    public function game()
    {
        return '玩游戏';
    }
    
    //3.将父类方法进行重写,就是功能重载,必须使用与父类一样的方法名:call()
    public function call()
    {
//        return '同时还能听歌,看视频';
        //此时,访问call()将会输出子类定义的功能
        //但更多的时候,我们并不会放弃原有功能,而只是在它上面进行追回而已
        //那么,如何在子类中引用父类中的方法呢? 使用关键字: parent,后面跟上双冒号::
        return parent::call().',同时还能听歌,看视频';
    }
    
    
    
}

运行实例 »

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


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学