我怎么知道在我的界面中放什么

本文关键字:什么 界面 我的 我怎么知道 | 更新日期: 2023-09-27 18:34:19

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

interface IDriveable
{
  public void Drive();
}

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

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

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

class player
{
    public void Drive(IDriveable vehicle){
        vehicle.Drive();
     }
}

感觉就像我在"乒乓球"似乎不对的逻辑。

我怎么知道在我的界面中放什么

构建

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

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();(或在任何IDriveableDrive()),都可以保证该对象将具有准备好的Drive()函数。