物件的複製是通過關鍵字 clone 來實現的。用 clone 轉殖出來的物件與原物件沒有任何關係,它是把原來的物件從當前的位置重新複製了乙份,也就是相當於在記憶體中新開闢了一塊空間。通過關鍵字 clone 可以轉殖乙個物件,語法格式如下:
$轉殖物件名稱=
clone
$原物件名稱;
物件的__clone()方法不能夠直接被呼叫,只有當通過關鍵字 clone 轉殖乙個物件時才可以使用該物件呼叫__clone()方法。當建立物件的乙個副本時,php5將會檢查__clone()方法是否存在。如果不存在,那 麼它就會呼叫預設的__clone()方法,複製物件的所有屬性。如果__clone方法已經定義過,那麼__clone()方法就會負責設定新物件的屬 性。所以在__clone()方法中,只需要覆蓋那些需要更改的屬性就可以了。例子如下:
class
myclone
}
$objecta
=
new
myclone();
$objectb
=
$objecta
;
//不呼叫__clone()方法,沒任何輸出
$objectc
=
clone
$objecta
;
//呼叫__clone()方法
該程式執行結果為:hello!新的的物件
物件導向關鍵字
this關鍵字 this是一種特殊的引用,指向當前物件 this的兩種使用方法 1 如果發生區域性變數可以成員變數命名衝突時,可以通過this.成員變數名的方式區分例項變數和區域性變數 2 乙個構造方法中需要呼叫同乙個類的另乙個構造方法,可以通過this 的方式呼叫,但this 必須要書寫在第一行 ...
物件導向 this 關鍵字
通過this關鍵字可以明確地訪問乙個類的成員變數,解決與區域性變數名稱相同的問題。示例 如下 public class cat 在上面的 中,構造方法的引數被定義為color,它是乙個區域性變數,在類中還定義了乙個成員變數,名稱也是color。在構造方法中如如果使用color,則訪問區域性變數,但如...
new關鍵字 this關鍵字 base關鍵字
使用new,所做的三件事 1.類是引用物件,引用物件是在堆中開闢空間 在堆中開闢空間 2.在開闢的堆空間中建立物件 3.呼叫物件的構建函式 4.隱藏父類成員 子類的成員可以與隱藏從父類繼承的成員,類似於重寫。public new void sayhello this關鍵字的使用 1.代表當前類的物件...