我有一个有关继承如何在C#中工作的理论/实践问题。假设我必须模拟一些汽车,所以我有几种通用的方法,所有的汽车必须执行并且飞行员应该知道。在码字这应该是一个接口:现在关于C#和继承
interface Automobile {
void speedup();
void break();
void steer();
//bla bla
}
,所有样车应具备的操作旁边的一些常见的技术实现,飞行员能够在它们执行,比方说房地产fuelLevel,在这一点上我还是不想知道汽车是如何加快或坏了,所以我会说:
abstract class Car : Automobile {
int fuelLevel; // for example....
public abstract void speedup();
public abstract void break();
public abstract void steer();
}
现在我想将法拉利车型,因此:现在
class Ferrari : Car {
public void speedup() { ... }
public void break() { ... }
public void steer() { ... }
}
,在Java中,这代码守ld工作(改变一些语法),但在C#中不会因为它说:
Error 1 'Ferrari' does not implement inherited abstract member 'Car.speedup()'
Error 1 'Ferrari' does not implement inherited abstract member 'Car.break()'
Error 1 'Ferrari' does not implement inherited abstract member 'Car.steer()'
为什么?我应该如何解决这个问题?
我想这是Java和C#的区别之一......非常感谢你。 – IssamTP
@ amod0017完成。对不起,但我很忙,在这里等待7分钟... – IssamTP
@IssamTP其实根据网站上的时间,它只花了我3分钟回答:-) –