如何实例化抽象类c#?

Saj*_*aja 5 .net c# oop abstract

我想实施一个小型市场计划.有一个名为(Goods)的抽象类和两个派生类(干货和冷货).之后如何添加一些项目?(鸡蛋,牛奶,米饭......等)

Dar*_*ren 14

您无法实例化抽象类.它的唯一目的是充当基类.您的鸡蛋,牛奶,米类必须来自货物并实施功能,如下所示:

public abstract class Goods 
{

}

public class DryGoods : Goods
{

}

public class ColdGoods : Goods
{

}
Run Code Online (Sandbox Code Playgroud)

然后,您可以拥有从干货或冷货继承的更原始的商品.

public class Egg : DryGoods
{

}

public class Milk : ColdGoods
{

}
Run Code Online (Sandbox Code Playgroud)

或者,如果您不需要MilkEgg作为轻量级类(或可转移对象),您可以直接使用派生DryGoodsColdGoods类型并具有GoodsType属性:

DryGoods egg = new DryGoods();
egg.GoodsType = DryGoods.Egg;

ColdGoods milk = new ColdGoods();
milk.GoodsType = ColdGoods.Milk;
Run Code Online (Sandbox Code Playgroud)

  • `DryGoods`和`ColdGoods`也应该是抽象的,不是为了代码,而是为了业务逻辑. (4认同)