执行结果
代码
<?phpnamespace phone;class A{ public $name; public $price; public function __construct($name,$price){ $this->name = $name; $this->price = $price; } public function getInfo(){ return '商品名称:'.$this->name.'; 商品价格:'.$this->price; } public function __destruct(){ echo '对象已被清理'; }}namespace laptop;use phone\A as newA; //将命名空间phone中的A类在laptop命名空间引用,为了避免冲突修改名称为newAclass A{ public $name='HUAWEI'; public $price='6888.00'; public function getInfo(){ $obj=new self(); return '商品名称'.$obj->name.'商品价格'.$obj->price; }}$phone = new newA('iPhone','9888.00');$laptop = new A();echo '当前命名空间'.__NAMESPACE__;echo '<hr>';echo $phone->getInfo();echo '<hr>';echo $laptop->getInfo();
总结
1.类里面的成员变量必须增加访问限制符,不能由表达式,不能将变量负值给类中的成员变量。
2.访问限制符可视为属性的作用域(可见性)。
3.对象方法分为$this
与self
,$this
指当前类实例对象的引用,self
指当前类。
4.构造方法用来初始化对象成员,构造函数是类中的特殊方法,在类实例化的时候会被自动调用,可用来初始化成员
5.析构方法在对象被销毁的时候自动调用,即使没有这个方法也会自动清理对象。
6.命名空间调用使用"\命名空间\命名空间成员"
,一个脚本文件中最好只设置一个命名空间。