靜態變數中的兩種兩種取出方式self和物件取值

2021-06-28 19:17:53 字數 1119 閱讀 8475

在我們的很多時候,可能會用到靜態變數,如統計隨時可變的量,儘管也可以使用global(全域性變數),但是這樣容易破壞類的結構性,所以,使用靜態變數來表示或則控制可變的量,也可以理解為共享的量,下面是我對靜態變數取出的的兩種方式特點認識:

1:首先,經過測試,靜態變數是可以脫離物件而存在的,準確的說,靜態變數是屬於類的。

2:在類內有self和物件取值兩種方式,在類外,只有物件取值這一種方式。

3:普通函式函式可以操作靜態變數,反過來靜態函式就不能操作普通變數

下面是我的測驗過程**:

全域性變數的使用:

global $studentnum;

$studentnum = 0;

class student

}$student_1 = new student("小黑");

$student_2 = new student("小白");

$student_3 = new student("小李");

$student_4 = new student("小張");

$student_5 = new student("小黃");

$student_6 = new student("小灰");

?>

靜態變數的使用

<?php

class student

//下面的因為沒執行所以才會沒顯示錯誤

public function showstudent()

} //靜態變數並不依賴物件而存在

/*$student_1 = new student;

$student_1->studentnum;

echo student::$studentnum;

/*$student_1 = new student("hu");

$student_1 = new student("hu");

$student_1 = new student("hu");

$student_1 = new student("hu");*/

echo student::$studentnum;//在類的外面只有這一種方法進行訪問

?>

兩種過載方式

過載的方式 用某次作業題中的實現complex類做例子 1 實現加法 1 complex complex operator const complex c 2 友元函式 complex operator const complex l,const complex r 2 實現 1 complex c...

C DLL匯出的兩種方式和鏈結的兩種方式

第一種 匯出方式 extern c declspec dllexport int plus int x,int y extern c declspec dllexport int sub int x,int y extern c declspec dllexport int mul int x,in...

HTTP FLV的兩種方式

目前,有兩種http flv的實現方式,一種是基於檔案的方式,一種是基於包的方式 兩種http flv的相同之處在於,都是http方式輸出,都是flv 格式 兩種http flv的不同之處在於 1 架構上,乙個 基於包的架構更偏實時,基於包,基於收到包,包。基於檔案的架構,邊寫檔案,邊output給...