我目前正在研究一個面向對象的設計項目,並且想知道是否有更好的方法來驗證子類的增變器中的數據。爲了驗證而覆蓋mutator方法
例如,我有一個家庭類與子類公寓,公寓和房子。在Home類中,我想包含子類共享的(私有)字段的增變器。說其中一個領域是方形的Footage。有沒有辦法讓Home中的mutator足夠通用,以便子類可以爲squareFootage設置自己的有效值,而不必完全重寫mutator?也就是說,我想爲每個子類使用squareFootage的不同有效範圍。
我試着在Home中設置可能的範圍值,然後在子類中覆蓋它們。不幸的是,Home中的mutator仍然是從Home類抓取的,而不是子類。所以,我已經採取了抽象的增變,但不幸的是這導致了很多重複的代碼,因爲我可以從字面上複製和粘貼每個子類中的增變。
我想使可能的範圍值爲靜態的,如果可能的話,我明白這可能與反射,但我真的想避免使用它在這個項目。
你能告訴我們一些關於你想描述的問題的代碼嗎? – Bnrdo