Blogger Information
Blog 29
fans 0
comment 0
visits 19687
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
命名空间,类的继承与实现-2019年7月31日
blog
Original
715 people have browsed it

一.命名空间

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


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post