0

在尝试为我的程序设计逻辑时,我遇到了这个反复出现的问题。假设我有一个 IDriveable 接口。

interface IDriveable
{
  public void Drive();
}

然后是实现此(c#)语法的汽车类:

class Car : IDriveable
{
  public void Drive(){
  //Do the movement here.
  }

}

这是我的问题发生的地方。如果我在设计一款游戏,汽车不会自动驾驶,玩家应该驾驶汽车,这肯定有意义吗?

class player
{
    public void Drive(IDriveable vehicle){

        vehicle.Drive();
     }
}

感觉就像我在“乒乓球”周围的逻辑似乎不正确。

4

1 回答 1

0

构建代码的更好方法可能是这样的:

class Player // Start class names with a capital letter
{
    Car thisPlayersCar; // Initialize it  the constructor or somewhere appropriate

    public void someFunction() {
        thisPlayersCar.Drive();
    }
}

基本上,接口的目的是无论您在哪里调用thisPlayersCar.Drive();(或Drive()在任何位置IDriveable),都可以保证该对象将有一个Drive()准备就绪的函数。

于 2013-10-06T20:10:06.187 回答