0
說我有一個方法在一個類中進行運動(稱之爲移動(地球))。隨機化函數實現
animal.move(地球)
是否有可能隨機的實際執行不與功能的方法,搞亂:該功能是利用繼承和這樣這樣在其他類中實現?
public void rMove(Earth myEarth) throws InterruptedException
{
int x = (int) location.getX();
int y = (int) location.getY();
int xMax = myEarth.getX() - 1;
int yMax = myEarth.getY() - 1;
double w = Math.random();
int rMove = (int) (w + Math.random()*4);
switch(rMove)
{
case NOR:
location.setLocation(x,y-1);
break;
case SOU:
location.setLocation(x,y+1);
break;
case EAS:
location.setLocation(x+1,y);
break;
case WES:
location.setLocation(x-1,y);
break;
}
}
包含該方法的類被擴展到另一個類
public class Carnivore extends Animal
在類食肉動物,使用這樣的上述功能的動物移動:
super.rMove(myEarth);
有一大堆的其他代碼涉及運動,但我不認爲這是相關的。我的問題是如何修改上面的實現而不修改實際的rMove。
您能向我們展示一個您到目前爲止所做的工作的例子嗎?你的意思是改變方法的實現而不改變它的簽名? – ACOMIT001
我用移動方法更新了我的問題。這個類被擴展到另一個類中,所以我可以在另一個類Animal中使用該函數。我的問題是,我可以在不修改原始方法的情況下修改Animal.Move(Earth)函數的實現嗎? – AMR
你想在不修改方法的情況下修改方法?你爲什麼認爲這是可能的? – shmosel