php物件導向 靜態屬性為什麼能用物件訪問

時間 2023-03-10 00:05:15

1樓:匿名使用者

static關鍵字。

宣告類成員或方法為static,就可以不例項化類而直接訪問。不能通過一個物件來訪問其中的靜態成員(靜態方法除外)。

由於靜態方法不需要通過物件即可呼叫,所以偽變數$this在靜態方法中不可用。

靜態屬性不可以由物件通過->操作符來訪問。

用:方式呼叫一個非靜態方法會導致一個e_strict級別的錯誤。

就像其它所有的php靜態變數一樣,靜態屬性只能被初始化為一個字元值或一個常量,不能使用表示式。 所以你可以把靜態屬性初始化為整型或陣列,但不能指向另一個變數或函式返回值,也不能指向一個物件。

---以上為php手冊 原文。

2樓:最呀最期待

因為你使用了:,在php物件導向的程式中輸出靜態資料就是使用:的。

3樓:匿名使用者

四個輸出都是對的。

1輸出類的靜態屬性 沒問題。

2 呼叫類的靜態方法 而這靜態方法呼叫了靜態屬性 沒問題。

3呼叫了物件的靜態方法 靜態方法再呼叫靜態屬性 沒問題。

4呼叫了物件的非靜態方法 非靜態方法呼叫類的靜態屬性 也沒問題。

不能呼叫的是:通過類呼叫非靜態方法 這就錯了 或者更復雜的說:通過類呼叫靜態方法,如果該靜態方法裡是呼叫了非靜態屬性,這也是錯的。

php訪問物件

4樓:待子期

$data = m_request_data->data; #訪問物件。

這一句要注意了。你這裡只是臨時定義個變數。要想在類中全部能用它,class a

好了這裡。function data()

5樓:匿名使用者

先例項化物件 然後才能呼叫黎明的東西。

高分求解,php 怎麼用變數訪問靜態屬性? 200

php物件導向 的static在什麼情況下用

6樓:網友

靜態變數,沒有什麼特定的情況。就像public一樣,只不過呼叫方法不一樣。一個是$this->變數名,一個是self::變數名。

7樓:匿名使用者

不想例項話類。又想呼叫類裡面的屬性和方法的時候。

8樓:匿名使用者

靜態嘛,這個,額,這個。。。那個。。。額。

php物件導向static是什麼意思

9樓:網友

php中的變數作用範圍的另一個重要特性就是靜態變數(static 變數)。靜態變數僅在區域性函式域中存在且只被初始化一次,當程式執行離開此作用域時,其值不會消失,會使用上次執行的結果。

function test()

?> 本函式每次呼叫時都會將 $w3sky 的值設為 0 並輸出 "0"。將變數加一的 $w3sky++ 沒有其到效果,因為一旦退出本函式則變數 $w3sky 就不存在了。

要寫一個不會丟失本次計數值的計數函式,要將變數 $w3sky 定義為靜態(static)的:

如下:function test()

?> 本函式每呼叫test()都會輸出 $w3sky 的值並加一。

靜態變數也提供了一種處理遞迴函式的方法。遞迴函式是一種自己呼叫自己的方法。寫遞迴函式時要小心,因為可能會無窮遞迴下去,沒有出口。

務必確保 有方法來中止遞迴。以下這個簡單的函式遞迴計數到 10,使用靜態變數 $count 來判斷何時停止:

靜態變數與遞迴函式的例子:

function test()

$count--;

} ?注: 靜態變數可以按照上面的例子宣告。如果在宣告中用表示式的結果對其賦值會導致解析錯誤。

宣告靜態變數例子:

function foo()

10樓:珍珍

物件導向中的宣告靜態方法,靜態屬性的關鍵字。

說說php物件導向程式設計時static,public,private,protected 各有什麼意義

11樓:匿名使用者

staticpublic與publicstatic是等價的,這兩bai者只是du兩個修。

飾符的順序不同zhi。根據。

教材中第八章的。

專描述,如果兩個或兩個以屬上的(不同的)欄位修飾符出現在欄位宣告,它們出現的順序需與fieldmodifier一致,這只是習慣,但不是必需的。部分修飾符說明:public是訪問許可權修飾符,用於控制外界對類內部成員的訪問,宣告為public的物件成員是完全共有的,外界可以隨意訪問,除此之外還有private,protected和預設。

static控制類成員變化的修飾符。static是靜態成員修飾符,其修飾的靜態變數脫離具體物件獨立存在,在記憶體中之後一份拷貝,所有的物件都公用這一個儲存空間,所以對static修飾的靜態變數進行的修改對該類的所有物件都起作用。static修飾的靜態函式代表所有物件的統一操作,只能呼叫靜態變數。

static是針對物件導向中的「多型」而提出來的,static修飾的靜態成員不存在多型性。附:fieldmodifier順序。

php物件導向中對屬性和方法定義的問題

12樓:匿名使用者

對屬bai性或方法的訪問控制,是du通過zhi在前面新增關鍵字dao public、protected 或 private 來實現的。由 public 所定回義的類成員可以在任答何地方被訪問;由 protected 所定義的類成員則可以被其所在類的子類和父類訪問(當然,該成員所在的類也可以訪問);而由 private 定義的類成員則只能被其所在類訪問。

php 物件的成員屬性名稱是數字,如何才能訪問?

13樓:匿名使用者

數字也是可以訪問的,按照你這個例子來說,可以這樣:

$obj->

php物件導向的靜態方法具體什麼時候用

php 物件導向中成員屬性的宣告

為了向後相容 php 4,php 5 宣告屬性依然可以直接使用關鍵字 var來替代 或者附加於 public,protected 或 private。但是已不再需要 var 了。在 php 5.0 到 var 會被認為是廢棄的,而且丟擲 e strict 警告,但是 5.之後就不再認為是廢棄,也不會...

什麼是物件導向?為什麼要用物件導向來程式設計

物件導向和麵向過程相對應,但是程序導向的應用不如物件導向來的廣,原因在於物件導向定義物件的屬性和方法,不同的程式設計想要用直接呼叫就可以,方便且適用性廣。這麼說你明白了嗎?為什麼要用物件導向思想程式設計 物件導向的主要思想是 繼承 封裝 多型 這種思想方便解決較為複雜的專案,且維護起來較為容易。物件...

為什麼準靜態過程系統對環境做的體積功最大

逆過程是在作用力與阻力相差無限小的條件下進行的。過程的速率無限緩慢。每一瞬間,系統都無限接近於平衡狀態。過程中沒有摩擦發生。可逆過程發生後,可以使系統沿原途徑逆向進行恢復原狀,而不給環境留下任何痕跡。在可逆膨脹過程中,系統對環境做功最大,而在可逆壓縮過程中,環境對系統作最小功。儘管可逆過程是一種理想...