C# 密封类_密封方法 (seadled 关键字)

C#允许将类声明为密封类密封类不能被继承

在什么场景用?

答:防止重写某些类导致代码混乱

密封类

seadled  声明密封类的关键字

//seadled  声明密封类的关键字
//密封类不能被继承
sealed class Class1
{
    public int age;
    public string name;
    public void Show()
    {
        Console.WriteLine(name);
        Console.WriteLine(age);
    }

}

密封方法

密封之后的方法不能被重写,密封方法不能直接密封,需要去子类密封

internal class Base
{

    public int id;
    public string sex;
    
    //密封之后的方法不能被重写
    public void Show()
    {
        Console.WriteLine(id);
        Console.WriteLine(sex);
    }
    //创建密封方法
    //密封方法不能直接密封  需要去子类密封
    public virtual void Move()
    {
        Console.WriteLine("yidong");
    }
}

密封类不能被继承

internal class Class2:Base   // Class2:CLass1 密封类无法被继承
{
    //在子类中对父类中的方法密封
    //密封方法
    public sealed  override void Move()
    {
    }

}
internal class Class3:Class2
{
    //密封之后的方法不能被重写
    //public override void Move()
    //{
    //    Console.WriteLine("class3移动");
    //}
}

你可能感兴趣的:(c#,开发语言)