十密封类和密封方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十密封类和密封方法相关的知识,希望对你有一定的参考价值。
密封类
密封类可以用来限制扩展性,如果密封了某个类,则其他类不能从该类继承。
如果密封了某个成员,则派生类不能重写该成员的实现。
一个密封类是没有也不能继承的类,因此sealed关键字和abstract关键字不能同时使用。
密封类除了不能被继承外,其他与非密封类一样。
C#中声明密封类时需要使用sealed关键字。
访问修饰符 sealed class 类名:基类或接口 { //类成员 } public sealed class myClass //声明密封类 { public int i=0; public void methed() { Console.WriteLine("密封类"); } }
密封方法是为了重写基类的虚方法并提供具体的实现,同时防止其后继类(派生类)再次重写该虚方法。
因此在密封方法中sealed关键字总是和override关键字同时使用。
public/*基类的可访问性一定要高于子类的,平级也可以*/class Class1 { public virtual void Write() { Console.WriteLine("未密封方法"); } } //如果一个类不希望将来在使用的过程中被继承,被派生,这时候可以采用关键字sealed //虚方法virtual 抽象方法abstract的存在就是为了继承,为了派生,因此不能被放在sealed类中 public class Class2:Class1 { public sealed override void Write() { Console.WriteLine("密封方法"); } } public class Class3:Class2 { /* public override sealed void Write() { 在Class2中该方法被密封,无法重写。 }*/ }
以上是关于十密封类和密封方法的主要内容,如果未能解决你的问题,请参考以下文章