抽象类是在 C# 中实现抽象的方式。C# 中的抽象是隐藏内部细节并仅显示功能的过程。抽象可以通过两种方式实现:
抽象类
界面
抽象类和接口都可以具有抽象所必需的抽象方法。
声明为抽象且没有主体的方法称为抽象方法。它只能在抽象类中声明。它的实现必须由派生类提供。例如:
public abstract void draw();
您不能在抽象方法声明中使用静态和虚拟修饰符。
在 C# 中,抽象类是声明为抽象的类。它可以有抽象方法和非抽象方法。它不能被实例化。它的实现必须由派生类提供。在这里,派生类被迫提供所有抽象方法的实现。
让我们看一个 C# 抽象类的例子,它有一个抽象方法 draw()。它的实现由派生类提供:Rectangle 和 Circle。两个类都有不同的实现。
using System; public abstract class Shape { public abstract void draw(); } public class Rectangle : Shape { public override void draw() { Console.WriteLine("绘制矩形..."); } } public class Circle : Shape { public override void draw() { Console.WriteLine("画圈..."); } } public class TestAbstract { public static void Main() { Shape s; s = new Rectangle(); s.draw(); s = new Circle(); s.draw(); } }
输出:
画摇篮... 画圈...