博主信息
博文 49
粉丝 0
评论 1
访问量 55949
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
类的继承与重载---2018年05月03日
失去过去的博客
原创
939人浏览过

1、父类

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/5/5 0005
 * Time: 12:11
 */
class computer
{
     protected $name;
    protected $cpu;
    protected $SATA;
    protected $power;
    protected $size;
    protected $bios;
    protected $Memory;


     public function  movie(){
         return 'look at movie';

     }
    public function music(){
         return 'licening to music';
    }
    public function played_game($name,$cpu,$SATA,$power,$size,$bios,$Memory){
        $msg[] = $this->name=$name;
        $msg[] = $this->cpu=$cpu;
        $msg[] = $this->SATA=$SATA;
        $msg[] = $this->power=$power;
        $msg[] = $this->size=$size;
        $msg[] = $this->Memory=$Memory;
        $msg[] =$this->bios=$bios;

        return implode(',',$msg).'以上是玩大型游戏的配置';


    }

}

运行实例 »

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

2、子类

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/5/5 0005
 * Time: 12:26
 */
//类的继承与重载
class extends_computer extends computer
{
    //创建查询器查询 实现外部访问

    public function __get($name)
    {
    $this->name;
    }
    //继承父类的公有或受保护的属性 使用属性不能继承 protected 受保护的 public 公有的
//重载方法玩played_game()
    public function played_game($name,$cpu,$SATA,$power,$size,$bios,$Memory)
    {
//        $msg[] = $this->name = $name;
//
//        $msg[] = $this->cpu=$cpu;
//        $msg[] = $this->SATA=$SATA;
//        $msg[] = $this->power=$power;
//        $msg[] = $this->size=$size;
//        $msg[] = $this->Memory=$Memory;
//        $msg[] =$this->bios=$bios;
        //1.引用父类中的方法
        return parent::played_game($name,$cpu,$SATA,$power,$size,$bios,$Memory);
        //2.重载父类中的方法
        return '大吉大利,晚上吃鸡:想要吃鸡需要有以下的电脑配置'.implode(',',$msg);
    }


}

运行实例 »

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

3、测试demo

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/5/5 0005
 * Time: 12:26
 */
//类的继承与重载
class extends_computer extends computer
{
    //创建查询器查询 实现外部访问

    public function __get($name)
    {
    $this->name;
    }
    //继承父类的公有或受保护的属性 使用属性不能继承 protected 受保护的 public 公有的
//重载方法玩played_game()
    public function played_game($name,$cpu,$SATA,$power,$size,$bios,$Memory)
    {
//        $msg[] = $this->name = $name;
//
//        $msg[] = $this->cpu=$cpu;
//        $msg[] = $this->SATA=$SATA;
//        $msg[] = $this->power=$power;
//        $msg[] = $this->size=$size;
//        $msg[] = $this->Memory=$Memory;
//        $msg[] =$this->bios=$bios;
        //1.引用父类中的方法
        return parent::played_game($name,$cpu,$SATA,$power,$size,$bios,$Memory);
        //2.重载父类中的方法
        return '大吉大利,晚上吃鸡:想要吃鸡需要有以下的电脑配置'.implode(',',$msg);
    }


}

运行实例 »

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

4、类的自动加载函数  spl_autoload_register()

<?php
/*
 
 * 类的自动加载
 * spl_autoload_register()
 * 
 * 
 * */
spl_autoload_register(function($classname){
    //替换命名空间的中的反斜线进行转义 变成目录后再处理
    $classname = str_replace('\\','/',$classname);
    //获取文件路径
   $path = __DIR__.'/class/'.$classname.'.php';
   //判断文件是不是个文件且 文件是否存在
    if((is_file($path)) &&  file_exists($path)){
        require $path;
    }

});


//$test = new autoload1();
//echo $test->name;
//$test = new autoload2();
//echo $test->name;
?>

运行实例 »

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


批改状态:未批改

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