php類的學習筆記

1.類的屬性和方法
   A.類的屬性:
a.類中聲明變量的時候有兩種情況,1.可以聲明同時賦值 2.聲明不賦值;
b.類中的屬性(變量)如果在聲明的時候不賦值的話,那麼初始值爲NULL;
c.屬性必須是一個確定的值,不能夠是表達式或者返回值;
   B.類的方法
a.類中的函數稱爲方法,可以定義與類外同名的函數;
2.類的構造函數和析構函數
   A.類的構造函數:
a.構造函數會在對象產生的時候系統自動調用;
b.在調用構造函數的時候可以帶參數,也可以不帶參數;
c.如果不帶參數就必須給構造函數中的形參加上默認值!
   B.類的析構函數:
a.可以顯式(用戶手動調用)刪除對象(析構對象),也可以隱式(系統自動調用)析構對象;
b.如果沒有顯式的刪除對象,該對象會在作用域結束時系統自動調用析構函數;
c.顯式的刪除對象就是說給對象賦值(任何值)都會被認定爲該對象不需要了,可以析構;
d.如果顯式的刪除對象那麼就會在該語句處調用對象的析構函數;
3.php中類的垃圾回收機制
a.對象傳值默認爲引用傳值(即傳址)
b.當多個變量同時指向一個對象的時候,不管你怎麼銷燬變量,只要還有一個變量指向那個對象,那麼那個對象便還存在;當沒有任何變量指向該對象的時候,便會觸發對象的析構函數(析構對象);
4.類中this指針的綁定
a.當一個對象在調用它的方法的之前,會將this指針綁定到當前調用對象上;
b.如果不加this指針,那麼系統就認爲該變量爲方法的內部局部變量,而不是類的屬性;
5.類的封裝
a.給外部一個接口(public類型),只有通過調用接口纔可以對private、protected類型的變量或者函數進行操作(這個操作是對象的內部操作);
b.而這些操作對於外部是不需要知道,也不允許被知道的!
c.也就是說把private、protected類型的變量或者函數“封起來”,不允許外部直接操作這些屬性和方法
6.類的權限修飾符
a.作用:用來說明屬性和方法的權限特點
b.位置:寫在屬性和方法最前面
c:三個作用修飾符:1.public(公有)2.private(私有,管理的最嚴格)3.protected(保護);個人認爲這幾個權限修飾符的使用規則與C++類似.
d.利用{}法則來判斷調用是否合法。({}法則就是根據類的大括號來判斷);
7.權限控制的BUG
a.PHP在實現上,並不是以對象爲單位來控制權限,而是以類爲單位來控制權限;
b.類聲明一側,而對象可能會有很多,以類爲單位,簡單了判斷模型。
c.在JAVA、C#、C++中也存在這種情況            
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章