是否可以調用一個方法,一個抽象的構造,然後傳遞到一些其他的方法,這將每個鑄造新的對象到指定的子類?也就是說,運行抽象構造函數,然後澆注到子類
public AbstractClass createNewAbstractClass() {
//do lots of checks that are the same for each sub class,
//including geting and checking each variable,
//and an exception thrown by the constructor.
AbstractClass abstractClassObject = new AbstractClass(var1, ...);
return abstractClassObject;
}
public SubClassOne createSubClassOneObject() {
SubClassOne subClassOneObject = (SubClassOne)createNewAbstractClass(var1,..);
return subClassOneObject;
}
public SubClassTwo createSubClassTwoObject() { ...
一種方法來避開這將是獲取並檢查所有變量的一種方法,那麼陣列中的回報他們,因此該方法createSubClassNObject()
能在正確的構造函數中使用它們,但這似乎相當混亂,這意味着每個create方法必須檢查以同樣的方式相同的異常,做這件事了同樣的事情,這聽起來像完全情況下,你應該嘗試外包給另一種方法!
我是從實用的角度出發感興趣 - 我想我的代碼是整齊和可讀性 - 而且從理論角度 - 這是實際可能嗎?所以即使答案是否定的,你能解釋爲什麼嗎?
好的,謝謝。這讓我頭腦中的抽象課程變得清晰 - 我想我明白爲什麼我不能做我想問的問題。 – DenverCoder8