我有一個抽象類被其他幾個類擴展,每個類都有一個叫做child_save_changes()
的抽象方法。從錯誤的子類調用方法的抽象類
模板類中的一種方法稱爲on_save_changes()
,每當用戶單擊「提交」時,就會從另一頁調用此方法。
on_save_changes()
方法首先設置驗證/保存所需的一些類變量,然後調用child_save_changes()
,然後最終處理重定向回到引用頁面。
問題是,因爲我通過另一個頁面的回調調用on_save_changes()
,它不知道哪個子類調用抽象方法child_save_changes()
,因此它只是選取它找到的第一個子類。
在每個child_save_changes()
方法中重複代碼似乎效率很低,所以我想知道是否有人在過去遇到類似的情況,以及他們採取了哪些措施來解決問題?謝謝。
你所描述的聽起來不像傳統的OOP抽象實現。抽象類沒有孩子,因爲它包含多個自身的繼承實例。 – Flosculus
@Flosculus - 我已經爲此[Pastebin](http://pastebin.com/mnWbUetf)添加了一個基本示例。我相信我的問題是'on_save_changes()'被獨立調用,而不是從一個子類中調用。這是否符合你對OOP抽象的期望,還是我在錯誤的道路上?謝謝。 –