C# 增加的sealed(密封的)关键字,用于修饰方法和类,表示继承来的虚方法不能被其派生类再重写和类不能被继承。分别被称为密封方法和密封类,其中密封方法必须同override一起使用。例如:
using System;
class A {
                public virtual void F() {
                        Console.WriteLine("A.F");
                }
        public virtual void G() {
                        Console.WriteLine("A.G");
                }
        }
class B: A {
                public sealed override void F() {
                        Console.WriteLine("B.F");
                }
                public override void G() {
                        Console.WriteLine("B.G");
                }
        }
class C: B {
                public override void F() { // 错误,不能覆盖密封方法
                        Console.WriteLine("C.F");
                }
                public override void G() {
                        Console.WriteLine("C.G");
                }
        }
又例如:
sealed class A {}
        class B: A {} // 错误,不能从密封类派生
新闻热点
疑难解答