如果我需要一个类对象来拥有某个属性,那么让我们将其称为"type“。
我希望类型为“轮式”或“nonWheeled”。如果vehicle类的实例被设置为有轮询属性,我希望该属性也具有其他两个属性之一,例如"twoWheeled"或“twoWheeled”或nonWheeled。
我尝试使用枚举来完成这个任务,例如:
private enum wheeledTypes {
twoWheeled,
fourWheeled
}
private enum Wheels
{
a = wheeledTypes.twoWheeled,
b = wheeledTypes.fourWheeled,
c = nonWheeled
}但是正如您所看到的,我得到了三种类型(a/b/c,我不想要)。我只想要a/b,或者轮式/非轮式,轮式可以有两种类型。
编辑:如果使用了类,您就会期望它们本身具有属性、构造函数、方法等。我不想要这个。我只想将车辆设置为轮式(2/4)或nonWheeled。轮式和nonWheeled不应该有进一步的属性。这就是为什么我认为吊床是合适的。也许我错了!
发布于 2017-05-11 11:28:36
你应该上课,就像这样:
class Vehicle { }
class NonWheeledVehicle : Vehicle { }
class WheeledVehicle : Vehicle
{
internal enum WheelTypes { TwoWheeled, FourWheeled }
}发布于 2017-05-11 11:31:50
你会想要这样的东西:
public enum WheelType
{
TwoWeeled,
FourWeeled
}
public class Vehicle
{
}
public class WheeledVehicle : Vehicle
{
public WheelType WheelType { get; set; }
}然后,Vehicle是您的non-wheeled vehicle类型,WheeledVehicle是具有特定WheelType的Vehicle。
发布于 2017-05-11 11:31:54
使用类代替
class Vehicle {
}
class Wheeled : Vehicle {
}
class NonWheeled : Vehicle {
}
class TwoWheeled : Wheeled {
}
class FourWheeled: Wheeled {
}https://stackoverflow.com/questions/43914075
复制相似问题