密封类 - 断子绝孙类

时间:2022-08-16 05:37:23

  密封类:断子绝孙类
  如果我们的类是密封类,那么就意味着不能有任何派生类。但是密封类是可以拥有父类的
  
  C#中密封类使用
sealed 关键字,sealed可以将类或者方法声明为密封类或者密封方法。
  对于密封类来说,表示不能继承该类
  对于密封方法来说,表示不能重写该方法
  
  密封类不能使用protected
  密封类不能使用virtual
  密封类的不可继承性,所以密封类不能声明为抽象,即sealed关键字不能和abstract共同使用
  
  如果用sealed修饰方法,必须要遵循一个条件,这个类必须有父类,并且重写了父类的某个虚方法才可以用sealed修饰,否则是绝对不行的
  
  密封类的作用就是防止外界修改本类,破坏类的内部构造


using System;

namespace OOP密封类
{
//密封类不能使用virtual (下面的运行是错的)
//sealed class Person{
//public virtual void SayHi(){
//Console.WriteLine ("111");
//}
//}

class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ("Hello World!");
}
}
}