一、訪問對象屬性和方法的操作
在php中,訪問對象的屬性和方法,使用箭頭(->)來訪問:$obj->name、$obj>showinfo()
二、偽變量$this使用
面向對象中的$this代表當前對象
$this代表當前對象,用來調用對象的屬性和方法
$this只能在成員方法中存在,其他方法都不能使用
三、定義類的常量
常量:就是值永遠不變的梁,常量不能修改,常量也不能刪除。
提示:在一次http請求過程中,常量不能修改。
類常量定義使用const關鍵字,Define()定義的常量為全局變量。
類常量,就是類的常量,與對象無關。
類常量,只能通過類名來調用(類名::常量);成員的東西,只能通過對象來調用。
訪問類常量,是通過范圍解析符(::)來訪問類的常量。例如:Student::TITLE
訪問對象的內容,是通過箭頭(->)來訪問的。例如:$obj->name、$obj->show()
類常量在內存中只有一份,不會隨著對象的增加而增加。類常量可以被所有對象共享。
好處:節省內存。例如:班級名稱、ICP備案號等
四、靜態屬性和靜態方法
Static關鍵字修飾的屬性,就是靜態屬性;
Static關鍵字修飾的方法,就是靜態方法
靜態屬性,就是類的屬性,與類相關,與對象無關;
靜態方法,就是類的方法,與類相關,與對象無關;
靜態屬性和靜態方法,是通過“類名::靜態屬性或靜態方法”方式來訪問的。
靜態屬性和靜態方法,在內存中只有一份,不會隨著對象的增加而增加。
好處:節省內存。可以被所有對象去共享。
靜態屬性的值是可以改變的,可以被所有對象共享。
靜態屬性和靜態方法,是有權限限制的。
區分類常量和靜態屬性
舉例:“某班”的班級名稱用類常量定義比較好。
“全班人數”用靜態屬性來定義比較好。
特點:上面兩個名稱是所有同學共享;類常量永遠不變,人數可能會變(靜態屬性
五、self關鍵字
$this代表當前對象,self代表當前類
$this用來調用對象的東西:成員屬性、成員方法、
self用來調用類的東西:類常量、、靜態屬性、靜態方法
$this使用箭頭(->)來調用成員屬性、成員方法
self使用(::)來調用類常量、靜態屬性、靜態方法;
$this只能用在成員方法中;self可以用在成員方法、靜態方法中
六、構造方法
當使用new關鍵字,創建一個類的對象時,第1個自動調用的方法,就是構造方法。
構造方法的名稱是固定的:__construct()
構造方法可以有參數,也可以沒有參數
當new一個類時,類名后跟的小括號的參數,就是傳給構造方法的。例如:new Student(‘張三’,34)
構造方法的作用:對象初始化。例如:給私有屬性賦值、數據庫對象初始化(連通、選擇數據庫)
提示:構造方法只能定義一個;構造方法可有可無。
構造方法必須是成員方法。
//構造方法的定義格式
權限控制符 function __construct(形參1,形參2,.....){
對象初始化的代碼;
七、析構方法
當銷毀一個對象前,自動調用的方法,就是析構方法。
析構方法的名稱是固定的:__destruct()
析構方法一定沒有參數,析構方法一定是成員中方法
析構方法的作用:垃圾回收。例如:可以斷開數據庫的連接、在線人數。
//析構方法的定義格式
權限控制符 function __destruct(){
垃圾回收的功能代碼;
}