php中static self區別與總結

2022-07-16 19:39:09 字數 1040 閱讀 1983

<?php

/*** static self 區別與總結

* 總結:

* 1.在 php 裡,在沒有繼承時候,你用self::class 和 static::class是一樣的,都是獲取當前類名。

* 2.如果用到了繼承,並且這個方法寫在了父類裡,你想要分別獲取當前父類名和未知的子類名,就要按照下面的方法進行獲取。

* 在 php 類中,self指向的是當前方法存在的這個類,也就是父類。static指向的是最終那個子類。

** 1.在乙個類a中,self::who() 等同於 static::who()

* 2.當子類b繼承父類a,子類b::test(),呼叫的時候,區別:

* test()方法呼叫 self::who() 呼叫父類的who()方法

* test()方法呼叫 static::who()呼叫的是子類的who()方法

*//**

* class a

* 1.在同乙個類中使用 self static 獲取的都是獲取當前類名

*/class a

public static function test()

}a::test(); echo '

'; // a a

/*** class b extends a

* b::test();

* self::who(); 呼叫 a 父類 的 who 方法

* static::who(); 呼叫子類 b 的 who 方法

*/class b extends a

}echo b::test(); echo '

'; // a b

/*** 父類p中 獲取子類c的類名

*/class p

public static function getchild()

}class c extends p

echo c::getparent(); // p

echo c::getchild(), php_eol; // c

PHP中this,self,parent的區別

php中this,self,parent的區別之一this篇 物件導向程式設計 oop,object orientedprogramming 現已經成為程式設計人員的一項基本技能。利用oop的思想進行php的高階程式設計,對於提高php程式設計能力和規劃web開發構架都是很有意義的。php5經過重寫...

PHP中this,self,parent的區別

php中this,self,parent的區別之一this篇 物件導向程式設計 oop,object orientedprogramming 現已經成為程式設計人員的一項基本技能。利用oop的思想進行php的高階程式設計,對於提高php程式設計能力和規劃web開發構架都是很有意義的。php5經過重寫...

PHP中this,self,parent的區別

php中this,self,parent的區別之一this篇 物件導向程式設計 oop,object orientedprogramming 現已經成為程式設計人員的一項基本技能。利用oop的思想進行php的高階程式設計,對於提高php程式設計能力和規劃web開發構架都是很有意義的。php5經過重寫...