我希望实现一个迷你市场程序。有一个名为(Goods)的抽象类和两个派生类(干货和冷藏货品)。如何在此基础上添加一些商品?(例如鸡蛋,牛奶,大米等)
你无法实例化一个抽象类,它的唯一目的是作为基类。你的Eggs,Milk,Rice类必须从Goods派生并实现功能,如下所示:
public abstract class Goods
{
}
public class DryGoods : Goods
{
}
public class ColdGoods : Goods
{
}
然后您可以让更原始的物品继承干货或冷藏货物。
public class Egg : DryGoods
{
}
public class Milk : ColdGoods
{
}
如果您不需要将Milk
或Egg
作为轻量级类(或可转移对象)使用,则可以直接使用派生的DryGoods
或ColdGoods
类型,并具有GoodsType
属性:
DryGoods egg = new DryGoods();
egg.GoodsType = DryGoods.Egg;
ColdGoods milk = new ColdGoods();
milk.GoodsType = ColdGoods.Milk;
看,你有一个抽象基类:
public abstract class Good { }
这里是你的命名类:
public class Egg : Good { }
public class Milk : Good { }
public class Rice : Good { }
现在您可以向基类Good添加属性和方法。
您现在也可以向命名类Egg、Milk和Rice添加属性和方法 :)
如果将Goods
重命名为Good
,则现在还可以拥有多个Egg、Milk和Rice:
var allGoods = new List<Good>();
var eggs = new Egg[16];
allGoods.Add(eggs);
var milk = new Milk[64];
allGoods.Add(milk);
var rice = new Rice[64];
allGoods.Add(rice);
你需要创建子类的对象,并使用该子类对象来设置值。你不能实例化一个抽象类,只能将其用作基类。
DryGoods
或ColdGoods
继承它们?您能否[编辑]问题以显示您拥有的类以及如何使用其他类(例如鸡蛋,牛奶等)? - Rhumborl