這篇文章主要為大家展示了“PHP中OO之靜態關鍵字以及類常量有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“PHP中OO之靜態關鍵字以及類常量有哪些”這篇文章吧。
成都創新互聯專注于云縣網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供云縣營銷型網站建設,云縣網站制作、云縣網頁設計、云縣網站官網定制、小程序設計服務,打造云縣網絡公司原創品牌,更為您提供云縣網站排名全網營銷落地服務。閑著沒事隨便找了點PHP的關于OO的點資料看看,訪問控制修飾符,self,parent,const,static幾個關鍵字,箭頭操作符(書上也這么叫..即“->”),范圍解析操作符(即雙冒號“::”),不過覺得這個跟C#語言里的OO很多是一樣的,很容易理解不過還是看看理清PHP里的OO思路還是應該的吧。
--------------------------------------------------------------------------------
聲明靜態的類的成員和方法,使它不需要一個類的實例.一個static成員的聲明不能通過一個類對象的實例來訪問(盡管一個靜態方法可以)。
靜態聲明必須在可見性聲明之后。為了兼容PHP 4,如果沒有可見性被聲明,那么成員和方法將被當作是已經聲明為public。
由于靜態方法可以調用非對象實例,偽變量$this不可以在聲明為靜態的方法中使用。
事實上static方法調用形式在編譯時被確定。當使用必須要聲明的類名時,方法是完全標識和無繼承規則的應用。當使用必須要聲明的類名時,這種方法就被完全確認,而且沒有使用繼承的規則。
如果self已經被聲明,那么self就被當前所屬的類所解釋。也不適用與繼承規則。靜態屬性不能通過箭頭操作符->.訪問非靜態方法,這將產生一個E_STRICT 級的警告。
復制代碼 代碼如下:
<?php
class Foo
{ public static $my_static='foo';
public function staticValue(){ return self::$my_static; }
}
class Bar extends Foo
{ public function fooStatic(){ return parent::$my_static; }
}
print Foo::$my_static."/n";
$foo = new Foo();
print $foo->staticValue()."/n";
print $foo->my_static."/n";// Undefined "Property" my_static
// $foo::my_static is not possible
print Bar::$my_static."/n";
$bar = new Bar();
print $bar->fooStatic()."/n";
?>
復制代碼 代碼如下:
//靜態方法實例(Static method example)
<?php
class Foo
{ public static function aStaticMethod() { }
}
Foo::aStaticMethod();
?>
可以在每個基類中定義常量使它保持不變。在你不使用$符號去聲明或使用它時,常量不同于普通變量。就象靜態成員,常量值不能通過對象的實例來訪問(而應使用$object::constant). 常量值必須是一個常量表達式,而不是一個變量,一個類的成員,一個數學表達式或函數調用的結果。
復制代碼 代碼如下:
<?php
class MyClass
{ const constant = 'constant value';
function showConstant() { echo self::constant."/n"; }
}
echo MyClass::constant."/n";
$class = new MyClass();
$class->showConstant();// echo $class::constant; is not allowed
?>
以上是“PHP中OO之靜態關鍵字以及類常量有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!
標題名稱:PHP中OO之靜態關鍵字以及類常量有哪些-創新互聯
網站路徑:http://m.newbst.com/article26/dchpjg.html
成都網站建設公司_創新互聯,為您提供營銷型網站建設、網站改版、網站設計、電子商務、網站排名、云服務器
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯