>  기사  >  백엔드 개발  >  PHP self关键字指向类静态变量

PHP self关键字指向类静态变量

WBOY
WBOY원래의
2016-06-20 13:00:371386검색

PHP self关键字指向类静态变量

首先我们要明确一点,self是指向类本身,也就是PHP self关键字是不指向任何已经实例化的对象,一般self使用来指向类中的静态变量。

< ?php 
class Counter 
{ 
//定义属性,包括一个静态变量 
private static $firstCount = 0; 
private $lastCount; 
//构造函数 
function __construct() 
{ 
$this->lastCount = ++selft
::$firstCount;
//使用PHP self关键字来调用静态变量,使用self
调用必须使用::(域运算符号) 
} 
//打印最次数值 
function printLastCount() 
{ 
print( $this->lastCount ); 
}  
} 
//实例化对象 
$countObject = new Counter(); 
$countObject->printLastCount();
//输出 1 
?>


我们这里只要注意两个地方,第6行和第12行。我们在第二行定义了一个静态变量$firstCount,并且初始值为0,那么在12行的时候调用了这个值 得,使用的是PHP self关键字来调用,并且中间使用"::"来连接,就是我们所谓的域运算符。
那么这时候我们调用的就是类自己定义的静态变量$ frestCount,我们的静态变量与下面对象的实例无关,它只是跟类有关,那么我调用类本身的的,那么我们就无法使用this来引用,可以使用PHP self关键字来引用,因为self是指向类本身,与任何对象实例无关。换句话说,假如我们的类里面静态的成员,我们也必须使用self来调用。


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.