一.命名空间
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.类用 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();
运行实例 »
点击 "运行实例" 按钮查看在线实例