摘要
抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象
正文
抽象类一般用于表达比较抽象的事物,如物料,它并不是具体的某一个存在的东西,而是一堆东西的代称,我们主要可以在其中定义一些共用的属性或方法,这时方法可以抽像的,也可是虚的。
简单来说
- 抽象类必须被继承
- 抽象类不能够被密封
- 抽象类不能被实例化
创建一个抽像类Material
public abstract class Material
{
public string Name { get; set; }
public string Description { get; set; }
public int Qty { get;set; }
public abstract void Print();
}
创建一个Tool
internal class Tool : Material
{
public override void Print()
{
Console.WriteLine($"{Name}-{Description}-{Qty}");
}
}
调用
Tool tool = new Tool();
tool.Name = "螺丝刀";
tool.Qty = 100;
tool.Print();

对于抽象方法,子类必须实现它。
对于虚拟方法,子类可以重写也可以不重写。
在Material 类中增加一个虚方法
/// <summary>
/// 入库的虚方法
/// </summary>
/// <param name="qty"></param>
public virtual void InStock(int qty)
{
this.Qty += qty;
}
调用增加入库
tool.InStock(100);
tool.Print();

网友评论