温馨提示×

C#中抽象类与密封类的使用

c#
小樊
82
2024-08-11 23:45:44
栏目: 编程语言

抽象类和密封类都是用来限制类的继承和实例化的特殊类。

抽象类是一个不能被实例化的类,只能被继承。抽象类可以包含抽象方法和非抽象方法。子类必须实现抽象方法,但可以选择性地覆盖非抽象方法。抽象类通常用于定义一些通用的行为或属性,让子类来实现具体的功能。

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 {}

总结来说,抽象类用于定义一些通用的行为,让子类来实现具体的功能;而密封类用于防止其他类继承它,保持类的完整性。在实际开发中,根据具体的需求来选择抽象类和密封类的使用。

0