我想实施一个迷你市场计划。有一个名为(Goods)的抽象类和两个派生类(干货和冷货)。如何在那之后添加一些项目?(鸡蛋,牛奶,rice...etc)
发布于 2016-04-30 11:35:44
不能实例化抽象类。它的唯一目的是充当一个基类。您的鸡蛋、牛奶、大米类必须从商品中派生出来并实现功能,如下所示:
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;
发布于 2016-04-30 11:40:07
看,您有一个抽象基类:
public abstract class Good { }
在这里,你有你的命名类:
public class Egg : Good { }
public class Milk : Good { }
public class Rice : Good { }
现在可以将属性和方法添加到基类Good中。
现在还可以向命名的类Egg、Milk和Rice添加属性和方法:)
如果您将Goods
重命名为Good
,您现在也可以拥有多个鸡蛋,牛奶和大米。
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);
发布于 2016-04-30 11:37:49
您必须创建子类的对象,并使用子类的对象可以设置值。不能实例化抽象类。您只能使用它作为基类。
https://stackoverflow.com/questions/36954365
复制相似问题