C#中的密封类(sealed)

很多初学者都不明白,C#中为什么会有密封类?

       其实我们知道C#语言是一种面向对象的语言,而继承是面向对象的主要特征之一,继承就是在类之间建立一种相交关系,使子类可以继承父类的一些特性,因此减少了代码的重复率。然而如果所有的类都可以被继承,继承会使类的层次结构体系变得十分庞大,类之间的关系杂乱无章,对类的理解和使用都会变得十分困难。因此有些时候我们就希望自己编写的类不被继承,或者有些类已经没有在被继承的必要。这个时候就将类定义成Sealed Class。

        密封类在声明中使用sealed修饰符,这样就可以防止该类被其他类继承。因此密封类不可能有派生类。

using System;
public sealed class ParentClass
{
	public ParentClass()
	{
		Console.WriteLine("父类构造函数");
	}
	public void SayHello()
	{
		Console.WriteLine("我是父类");
	}
}
public class ChildClass:ParentClass//报错:无法从密封类型派生
{
}

你可能感兴趣的:(C#,Class,语言)