類和物件 靜態屬性 靜態方法

2022-05-11 06:10:38 字數 1145 閱讀 5091

在php中,使用關鍵字 static 修飾成員屬性和成員方法被稱為靜態屬性和靜態方法。靜態屬性和靜態方法不需要在類被例項化的情況下可以直接使用。

與普通的成員屬性不同,靜態屬性屬於類本身而不屬於類的任何例項。靜態屬性可以被看做是儲存在類當中的全域性變數,可以在任何地方通過類來訪問它們。

由於靜態屬性不受任何具體物件的限制,所以不需要建立類例項,而可以直接引用類中的靜態屬性,使用語法格式如下:

類名稱::$靜態屬性名稱

其中,符號」::」被稱作範圍解析操作符,它可以用於訪問靜態成員、靜態方法和常量,還可以用於覆蓋類中的成員和方法。

如果想在同一類的成員方法中訪問靜態屬性,可以通過在該靜態屬性的名稱前加上操作符」self::」來實現。例子如下:

classdabing

}

$obj=newdabing();

$obj->addone();

該程式使靜態屬性的值加1,執行結果為:1

在php中將成員方法宣告為靜態,就稱其為靜態方法。由於靜態方法不受任何具體物件的限制,所以不需要建立類例項就可以直接引用類中的方法。語法格式如下:

類名稱::靜態方法名稱([引數1,引數2,……])

與呼叫靜態屬性相同,在類中使用操作符」self::」來表示呼叫同一類中的靜態方法,例子如下:

classdabing

staticfunctionshowresult($number)

}

$number=100;

dabing::showresult($number);

該程式執行的結果為:

$number=100

$number+1=101

靜態屬性 類方法 靜態方法

靜態屬性 既可以訪問例項屬性也可以訪問類屬性 self 1 靜態屬性 資料屬性 2 class room 3 def init self,name,owner,width,length,height 4 self.name name 5 self.owner owner 6 self.width w...

靜態屬性 類方法 靜態方法

class room tag 1 def init self,name,owner,width,length,heigh self.name name self.width width self.owner owner self.length length self.heigh heigh 既可以訪...

類物件 類屬性 類方法 靜態方法

我們在前面講的類定義格式中,class類名 實際上,當直譯器執行class語句時,就會建立乙個類物件。測試類物件的生成 class student pass print type student print id student stu2 student s1 stu2 print s1 執行結果 ...