在尝试为我的程序设计逻辑时,我遇到了这个反复出现的问题。假设我有一个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();
}
}
感觉就像我在'ping-ponging'的逻辑似乎并不合适。
答案 0 :(得分: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()
功能准备就绪。