『壹』 Java在父類中如何創建子類對象
你好,很高興回答你的問題。
可以進行如下修改,將breed的實現移到抽象父類Animal中,略做修改,修改後代碼如下
public Animal breed(){
Animal ret =null;
if(isBreedable() &&Math.random()<getValue()){
ret=getAnimal();
}
return ret;
}
父類Animal中增加如下兩個抽象方法:
public abstract double getValue();
public abstract Animal getAnimal();
在Fox中不再需要實現breed,實現新定義的兩個方法:
public abstract double getValue(){
return 0.5;
}
public abstract Animal getAnimal(){
return new Fox();
}
在Rabbit類中類似處理:
public abstract double getValue(){
return 0.12;
}
public abstract Animal getAnimal(){
return new Rabbit();
}
如果有幫助到你,請點擊採納。
我解答的大部分是軟體開發新人遇到的問題,如果有興趣可以關注我。