2012-04-06 190 views
1

我有一個基類Fruit和一個子類Apple的實例。我應該如何將Apple實例保存到數據庫? insertFruit方法與instanceof檢查檢測蘋果被視爲好設計或不?保存從基類派生的實例

回答

2

我不認爲這是一個好的設計,在超類中有一個方法來檢查對象是否是一個子類的實例。如果你想稍後添加香蕉怎麼辦?你會在insertFruit()中添加另一個檢查嗎?

我認爲最好是多態,並重寫Apple類中的insertFruit()方法。

+0

你說得對。可以做的是按照您所說的那樣進行重寫,以保存特定於子類的字段,然後爲基類中的字段調用Fruit的Save方法。在數據庫中,這將反映爲Apple的新記錄,然後將它用於Fruit條目中。 – 2012-04-06 09:46:20