PHP中拜访类中静态对象的成员方法
PHP类1classClassName1{publicfunction__construct(){}publicfunctionfunction0(){...}}PHP类...
PHP 类1
class ClassName1
{
public function __construct(){}
public function function0(){...}
}
PHP 类2
class ClassName2
{
public static $ClassName1Object;
public static function CreateClassName2Obj()
{
self::$ClassName1Object=new ClassName1();
}
}
PHP 类3
class ClassName3
{
ClassName2::CreateClassName2Obj();
ClassName2::$ClassName1Object->function0();
//此处调用function0为什么会报空??
//怎样处理才正确??
} 展开
class ClassName1
{
public function __construct(){}
public function function0(){...}
}
PHP 类2
class ClassName2
{
public static $ClassName1Object;
public static function CreateClassName2Obj()
{
self::$ClassName1Object=new ClassName1();
}
}
PHP 类3
class ClassName3
{
ClassName2::CreateClassName2Obj();
ClassName2::$ClassName1Object->function0();
//此处调用function0为什么会报空??
//怎样处理才正确??
} 展开
1个回答
展开全部
1、echo Human:$name :类声明完毕,就存在static属性,并不依赖于对象。因此,静态属性只有一个(意思是在内存里,存放的位置并不是在对象里;如果在对象里,那实例化一个对象,就相应的有该静态的位置,如height属性);
2、print_r($p1):打印结果只有height属性,而没有name;
3、静态属性的值变化后,所有对象的该属性值都会受到影响。
对于方法,无论是静态的、还是普通的,都是存在于类内存空间中。证明也很简单,new一个对象,print_r(对象)即可。
希望本文所述对大家的php程序设计有所帮助。
2、print_r($p1):打印结果只有height属性,而没有name;
3、静态属性的值变化后,所有对象的该属性值都会受到影响。
对于方法,无论是静态的、还是普通的,都是存在于类内存空间中。证明也很简单,new一个对象,print_r(对象)即可。
希望本文所述对大家的php程序设计有所帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询