public class myWorld
{
public int data;
public void ChangeData()
{
data = 10;
}
}
public class myRobot : myWorld
{
public void robotChangesData()
{
//how can i make the robot change the data in world?
}
}
我理解(或多或少)不应该这样做,并且已经被问了一千次,因为每一次改变都应该通过方法 - 但是:
如果我们继续以世界和机器人为例,稍后我想为机器人提供一种方法,例如:robot.MoveBox(25)
机器人必须能够访问世界、对象框并更新绘图对象(网格、形状等) .) 我现在唯一能想到的就是通过机器人的每一种方法(比如movebox
,或robotChangesData
)整个世界 + 盒子 + 绘图东西作为“参考”,然后他可以改变它.. 但是每个方法看起来像robot.MoveBox(25, ref myworldObject, ref myworldBoxes,ref etc etc)
这真的是正确的方法吗?还是我错过了一些重要的事情?