PHP clone關鍵字 物件也能被「轉殖」

2021-09-25 18:36:53 字數 854 閱讀 7323

物件的複製是通過關鍵字 clone 來實現的。用 clone 轉殖出來的物件與原物件沒有任何關係,它是把原來的物件從當前的位置重新複製了乙份,也就是相當於在記憶體中新開闢了一塊空間。通過關鍵字 clone 可以轉殖乙個物件,語法格式如下:

$轉殖物件名稱=clone$原物件名稱;

物件的__clone()方法不能夠直接被呼叫,只有當通過關鍵字 clone 轉殖乙個物件時才可以使用該物件呼叫__clone()方法。當建立物件的乙個副本時,php5將會檢查__clone()方法是否存在。如果不存在,那 麼它就會呼叫預設的__clone()方法,複製物件的所有屬性。如果__clone方法已經定義過,那麼__clone()方法就會負責設定新物件的屬 性。所以在__clone()方法中,只需要覆蓋那些需要更改的屬性就可以了。例子如下:

classmyclone

}

$objecta=newmyclone();

$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.代表當前類的物件...