让我们创建一个名为NaturalFood的类,并让两个类继承自它:Fruits和Vegetables类。
我��望强制要求任何继承自NaturalFood类的类都必须声明和/或重写AllList枚举。枚举将有效地包含特定于派生类的列表。我该如何做到这一点?
编辑:我的基本要求是,每个从基类派生的类必须具有其自己的“某些东西”的列表,该列表特定于它。枚举只是创建列表的一种方式。我希望利用Enumeration所提供的智能感知、toString()等特性。
编辑2:我的例子不够实用吗?如果我将整个枚举放在基类(NaturalFood)中,我怎么知道哪些枚举值是特定于哪些派生类的?假设每个派生类都在以枚举常量的形式“发布”其所提供的内容,我想对每个派生类强制执行此约束。换句话说,我的问题是如何像描述的情况下对派生类强制执行约束?
abstract class NaturalFood
{
enum AllList
{
//empty list as a placeholder
}
protected string Name;
}
class Fruits : NaturalFood
{
enum AllList
{
Apple = 1,
Banana = 2
}
}
class Vegetables : NaturalFood
{
enum AllList
{
Carrot = 1,
Potatoes = 2
}
}
我��望强制要求任何继承自NaturalFood类的类都必须声明和/或重写AllList枚举。枚举将有效地包含特定于派生类的列表。我该如何做到这一点?
编辑:我的基本要求是,每个从基类派生的类必须具有其自己的“某些东西”的列表,该列表特定于它。枚举只是创建列表的一种方式。我希望利用Enumeration所提供的智能感知、toString()等特性。
编辑2:我的例子不够实用吗?如果我将整个枚举放在基类(NaturalFood)中,我怎么知道哪些枚举值是特定于哪些派生类的?假设每个派生类都在以枚举常量的形式“发布”其所提供的内容,我想对每个派生类强制执行此约束。换句话说,我的问题是如何像描述的情况下对派生类强制执行约束?