抽象类和密封类都是用来限制类的继承和实例化的特殊类。
抽象类是一个不能被实例化的类,只能被继承。抽象类可以包含抽象方法和非抽象方法。子类必须实现抽象方法,但可以选择性地覆盖非抽象方法。抽象类通常用于定义一些通用的行为或属性,让子类来实现具体的功能。
public abstract class Shape{ public abstract double GetArea(); public abstract double GetPerimeter();}public class Circle : Shape{ public double Radius { get; set; } public override double GetArea() { return Math.PI * Radius * Radius; } public override double GetPerimeter() { return 2 * Math.PI * Radius; }}密封类是一个不能被继承的类,是最终的类。密封类通常用于防止其他类继承它,保持类的完整性和封闭性。
public sealed class FinalClass{ public void SomeMethod() { // do something }}// 无法继承FinalClass// public class SubClass : FinalClass {}总结来说,抽象类用于定义一些通用的行为,让子类来实现具体的功能;而密封类用于防止其他类继承它,保持类的完整性。在实际开发中,根据具体的需求来选择抽象类和密封类的使用。


