博主信息
博文 29
粉丝 0
评论 0
访问量 24621
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
命名空间,类的继承与实现-2019年7月31日
blog
原创
913人浏览过

一.命名空间

1.默认情况下,同一空间下相同的类 、函数,常量,接口,相同的名称只能定义一次,为解决和管理名称相同但功能不相同的类、函数、常量,接口的情况,可以引入命名空间的方式进行解决

2.命名空间用namespace定义

3.没有定义的命名空间可称为匿名空间,匿名空间相当于全局空间。

4.在命名空间下我们甚至可以将关键字进行定义

实例

<?php
namespace one
{
    class Test {}
    //访问其他空间
    (new \two\Test()) ->show();
}

namespace two
{
    class Test {
        public function show()
        {
            echo __METHOD__."<hr>";
        }
    }
}

namespace three
{
    class Test {}
    echo Test::class;

}

运行实例 »

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

1.png

二.类的继承与实现

1.类用  class 关键字进行定义 ,类名的首字母通常大写,

2.类通过  $this-> 访问成员变量 和成员方法

3.构造函数:用于对象实例化时的对象的初始化 __construct() 

4.析构方法:在对象被清理被删除的时候自动调用该方法  __destruct()

5.类的继承可以实现对父类的扩展和重写,关键字为extends

6.子类在使用过程种,如重写了父类方法,并不影响子类种调用父类成员方法的过程,调用使用parent::父类成员方法

实例

<?php
namespace demo1;

class eat
{
    public $food1;
    public $food2;
    public function __construct($food1="米饭1",$food2="米饭2")
    {
        $this->food1=$food1;
        $this->food2=$food2;
    }
    public function GetFood()
    {
        return "你是要这个金的".$this->food1."还是要这个银的".$this->food2;
    }
}
class drink extends eat
{
    public $water;
    public function __construct($water,$food1 = "米饭1", $food2 = "米饭2")
    {
        parent::__construct($food1, $food2);
        $this->water=$water;
    }
    public function eating()
    {
        return "吃着".$this->food1."就着".$this->water;
    }
}
$drink =  new drink("白开水","西北风");
echo $drink->eating();

运行实例 »

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

1.png


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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

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