我知道這是一個真正愚蠢的問題,但我並不真正瞭解某些東西,我每天都在使用它們,但我不確定它們是如何工作的。PHP:屬性visibilty,靜態等
class Bootstrap
{
public static $frontController = null;
public static $root = '';
什麼是公共靜態,保護,公共...之間的差異是什麼?當它最好使用每一個...
問候
我知道這是一個真正愚蠢的問題,但我並不真正瞭解某些東西,我每天都在使用它們,但我不確定它們是如何工作的。PHP:屬性visibilty,靜態等
class Bootstrap
{
public static $frontController = null;
public static $root = '';
什麼是公共靜態,保護,公共...之間的差異是什麼?當它最好使用每一個...
問候
static
表示值通過self::$var
代替$this->var
訪問,不是特定實例(即它也是靜態方法可用)因而非常適合單身人士和類似的模式public
var爲來自世界各地的,即無論是從類內外protected
VAR是從類中唯一的訪問,從類繼承訪問其中變量被定義的類private
VAR是從類既然你問OOP基礎裏面才能訪問,這裏有一些值得說明的是更多的關鍵字:
abstract
類不能被實例化,只能用作基類;包含抽象方法的類必須是抽象的,除非基類的所有抽象方法實際上是實現了一個類從一個抽象類繼承必須是抽象final
類不能從公共繼承/私營/受保護是指能見度;
http://php.net/manual/en/language.oop5.visibility.php
靜態是指是否一個類的成員與所述類本身或一個類的實例相關聯;
http://www.php.net/manual/en/language.oop5.static.php
這些都是語言的關鍵字。
http://php.net/manual/en/reserved.keywords.php
http://en.wikipedia.org/wiki/Keyword_%28computer_programming%29
公共及受保護的可見性。公共每個人都有權訪問,只保護繼承,父類可以訪問。
靜態是所有對象通用的變量,而不是每個類都有自己的變量,它是由所有對象「共享」的。
現在到了另外一個問題,當使用它:
你可以讓你的標題更好嗎? (更具描述性,你也不需要在標題中用PHP標記它,因爲我們有標籤)。 ty :) – PeeHaa
參考:http://php.net/manual/en/language.oop5.php –
我不確定這是否是一個好的問題SO - OOP的原則是很多,系統地學習更容易來自一本書(當然還有一篇在線文章)。維基百科的文章給出了一個概述,但它很難消化:http://en.wikipedia.org/wiki/Object_(computer_science) –