
通常构造方法被用来执行一些有用的初始化任务,如对成员属性在创建对象时赋予初始值。
构造方法的在类中的声明格式
function __constrct([参数列表]){
方法体//通常用来对成员属性进行初始化赋值
}
__get
这个方法用来获取私有成员属性值的,有一个参数,参数传入你要获取的成员属性的名称,返回获取的属性值,这个方法不用我们手工的去调用,因为我们也可以把这个方法做成私有的方法,是在直接获取私有属性的时候对象自动调用的。因为私有属性已经被封装上了,是不能直接获取值的(比如:“echo
$p1->name”这样直接获取是错误的),但是如果你在类里面加上了这个方法,在使用“echo
$p1->name”这样的语句直接获取值的时候就会自动调用__get($property_name)方法,将属性name传给参数$property_name,通过这个方法的内部执行,返回我们传入的私有属性的值。如果成员属性不封装成私有的,对象本身就不会去自动调用这个方法。
case-1:给类中的静态变量赋值:
class PHPJungle{private static $__instance = null# 类中的私有成员:静态变量
public function __construct(){
}
public static function getInstance(){
if(self::$__instance instanceof self)
return self::$__instance # 给静态变量赋值
return new self()
}
public function anyMethod(){
echo 'Hello world!','<hr>'
return
}
}
$PJ = new PHPJungle()
$PJ->getInstance()->anyMethod()
case-2:给函数中的局部静态变量赋值:
function hello(){static $total = 0
echo $total,'<hr>'
$total++ # 给函数中的局部静态变量赋值
}
hello()# 0
hello()# 1
hello()# 2
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)