簡體   English   中英

PHP OOP:將父對象重鑄為子類

[英]PHP OOP: Recasting parent object as child class

有沒有一種簡單的方法可以將父對象重鑄為子類,最好是通過父類的方法。

例如,我可能有一個“ Visitor”類和“ Member”類,它們擴展了“ Visitor”。 認證方法成功后,是否可以重鑄對象?

謝謝

您可以在Visitor類中定義一個構造函數,該構造函數將采用另一個Visitor對象並將所有屬性復制到新對象中。 然后,此構造函數將繼承到Member類,並且您將能夠通過復制現有的Visitor對象來創建Member對象。

我能想到的最接近的解決方案是啟動一個新的“成員”對象,將舊的訪問者對象傳遞給構造函數。 在構造函數中,您可以提取相關屬性並將其分配給新對象。

類似的模式也可以工作,但是您將無法直接將某些內容作為php中的類進行強制轉換:[

絕對不! 用戶通過身份驗證后,請求結束,因此Visitor對象不再存在。 在下一個請求時,您將直接加載Member對象(我假設您有某種工廠可以實例化每種用戶類型的相關對象)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM