📅  最后修改于: 2023-12-03 15:14:27.473000             🧑  作者: Mango
在C#中,sealed
关键字用于修饰类、方法或属性,用于限制其能被继承或重写的权限。使用sealed
关键字修饰的类不能被继承,被修饰的方法不能被重写,被修饰的属性只能被同一类中的方法重写。
使用sealed
关键字修饰类,可以防止其他类对该类进行继承。例如:
sealed class MyClass
{
// class implementation
}
使用sealed
关键字修饰方法,可以防止派生类对该方法进行重写。例如:
class MyBaseClass
{
public virtual void MyMethod()
{
// base class implementation
}
}
class MyDerivedClass : MyBaseClass
{
public sealed override void MyMethod()
{
// derived class implementation
}
}
class MyDerivedDerivedClass : MyDerivedClass
{
// Attempt to override MyMethod causes a compile error
}
和sealed
方法类似,使用sealed
关键字修饰属性,可以防止派生类对该属性进行重写。例如:
class MyBaseClass
{
public virtual int MyProperty { get; set; }
}
class MyDerivedClass : MyBaseClass
{
public sealed override int MyProperty
{
get { return base.MyProperty; }
set { base.MyProperty = value; }
}
}
class MyDerivedDerivedClass : MyDerivedClass
{
// Attempt to override MyProperty causes a compile error
}
sealed
关键字用于限制继承或重写的权限,可以帮助我们设计更加安全和可控的类。但是需要注意,在使用sealed
关键字修饰方法或属性时,必须先使用virtual
或override
关键字进行声明。