密封类
using System;
namespace _密封类
{
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ("Hello World!");
Person per = new Person ();
per.SayHi ();
per.a ();
}
}
}
/*
* 密封类:断子绝孙类
* 如果我们的类是密封类,那么就是意味着不能有任何派生类,
* 但是密封类是可以拥有父类.
*
* c#中密封类使用sealed关键字,sealed可以将类或者方法声明为密封类或者密封方法.
* 对于密封类来说,表示不能继承该类.
* 对于密封方法来说,表示不能重写该方法
*
* 密封类不能使用protected.
* 密封类不能使用virtual.
*
* 密封类的不可继承性,所以密封类不能声明为抽象的,即sealed关键字不能和abstract共同使用
*
* 在密封类中如果用sealed修饰方法,必须要遵循一个条件:这个类必须有父类,并且重写了父类的某个虚方法才可以
* 用sealed修饰,否则是绝对不行.
*
* 密封类的作用就是防止外界修改到本类,破坏类的内部构造.
using System;
namespace _密封类
{
class A
{
public virtual void SayHi()
{
}
}
sealed class Person:A
{
public sealed override void SayHi()
{
Console.WriteLine ("123");
}
public void a()
{
Console.WriteLine ("2313");
}
}
}
上一篇
下一篇