《PHP应用:php面向对象中static静态属性和静态方法的调用》要点:
本文介绍了PHP应用:php面向对象中static静态属性和静态方法的调用,希望对您有用。如果有疑问,可以联系我们。
PHP应用本文实例讲述了php中static静态属性和静态办法的调用.分享给大家供大家参考.具体如下:
PHP应用这里分析了php面向对象中static静态属性和静态办法的调用.关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了.静态属性、办法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性).
PHP应用实例:
PHP应用
<?php
header("content-type:text/html;charset=utf-8");
class Human{
static public $name = "小妹";
public $height = 180;
static public function tell(){
echo self::$name;//静态方法调用静态属性,使用self关键词
//echo $this->height;//错.静态方法不能调用非静态属性
//因为 $this代表实例化对象,而这里是类,不知道 $this 代表哪个对象
}
public function say(){
echo self::$name . "我说话了";
//普通方法调用静态属性,同样使用self关键词
echo $this->height;
}
}
$p1 = new Human();
$p1->say();
$p1->tell();//对象可以拜访静态方法
echo $p1::$name;//对象拜访静态属性.不能这么拜访$p1->name
//因为静态属性的内存位置不在对象里
Human::say();//错.say()方法有$this时出错;没有$this时能出结果
//但php5.4以上会提示
?>
PHP应用结论:
PHP应用(1)、静态属性不需要实例化即可调用.因为静态属性存放的位置是在类里,调用办法为"类名::属性名";
(2)、静态办法不需要实例化即可调用.同上
(3)、静态办法不能调用非静态属性.因为非静态属性需要实例化后,存放在对象里;
(4)、静态办法可以调用非静态办法,使用 self 关键词.php里,一个办法被self:: 后,它就自动转变为静态办法;
PHP应用希望本文所述对大家的php程序设计有所赞助.
维易PHP培训学院每天发布《PHP应用:php面向对象中static静态属性和静态方法的调用》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。