密封类

2016-12-08  本文已影响0人  无敌的IT熊猫

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");

}

}

}

上一篇 下一篇

猜你喜欢

热点阅读