【发布时间】:2014-04-14 01:07:41
【问题描述】:
抱歉标题混乱,我不知道如何用一句话来描述这个问题。我有一个有 2 个孩子的父类 EmergencyWorker:
public abstract class EmergencyWorker
{
protected virtual Vehicle vehicle;
}
public class EMT : EmergencyWorker
{
protected override Ambulance vehicle;
}
public class Firefighter : EmergencyWorker
{
protected override FireTruck vehicle;
}
救护车和消防车都是车辆。 我希望它使属于 EMT 的每辆车始终是救护车,而属于消防员的每辆车始终是救火车。
Virtual 和 Override 对此不起作用,因为我得到“修饰符 'override' 对此项目无效” 我对泛型不是很有经验,但我怀疑它们在这里可能会有所帮助。
那么如何强制 EmergencyWorker 的子级用 Vehicle 类型的子级覆盖车辆字段?
【问题讨论】:
标签: c# oop generics inheritance overriding