Posted in PHP onMay 14, 2013
public 表示全局,类内部外部子类都可以访问;
<?php class Test{ public $name='Janking', $sex='male', $age=23; function __construct(){ echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />'; } function func(){ echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />'; } } $P=new Test(); echo '<br /><br />'; $P->age=100; $P->name="Rainy"; $P->sex="female"; $P->func(); ?> Public
private表示私有的,只有本类内部可以使用;
<?php class Test{ private $name='Janking', $sex='male', $age=23; function __construct(){ $this->funcOne(); } function func(){ echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />'; } private function funcOne(){ echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />'; } } $P=new Test(); echo '<br /><br />'; $P->func(); $P->age=100; // Cannot access private property Test::$age $P->name="Rainy"; // Cannot access private property Test::$name $P->sex="female"; // Cannot access private property Test::$female $P->funcOne(); // Call to private method Test::funcOne() from context '' ?> Private
protected表示受保护的,只有本类或子类或父类中可以访问; 和封装有关的魔术方法:
__set():是直接设置私有成员属性值时,自动调用的方法
__get():是直接获取私有成员属性值时,自动调用的方法
__isset(); 是直接isset查看对象中私有属性是否存时自动调用这个方法
__unset(); 是直接unset删除对象中私有属性时,自动调用的方法
PHP笔记之:基于面向对象设计的详解
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@