When an instance method declaration includes a sealed modifier, that method
is said to be a sealed method. A
sealed method overrides an inherited virtual method with the same
signature. An override method can also be
marked with the sealed modifier. Use of this modifier prevents a derived
class from further overriding the
method.
[Example: The example
using System;
class A
{
public virtual void F() {
Console.WriteLine("A.F");
}
Chapter 17 Classes
237
public virtual void G() {
Console.WriteLine("A.G");
}
}
class B: A
{
sealed override public void F() {
Console.WriteLine("B.F");
}
override public void G() {
Console.WriteLine("B.G");
}
}
class C: B
{
override public void G() {
Console.WriteLine("C.G");
}
}
the class B provides two override methods: an F method that has the sealed
modifier and a G method that does
not. B?s use of the sealed modifier prevents C from further overriding F.
end example]
is said to be a sealed method. A
sealed method overrides an inherited virtual method with the same
signature. An override method can also be
marked with the sealed modifier. Use of this modifier prevents a derived
class from further overriding the
method.
[Example: The example
using System;
class A
{
public virtual void F() {
Console.WriteLine("A.F");
}
Chapter 17 Classes
237
public virtual void G() {
Console.WriteLine("A.G");
}
}
class B: A
{
sealed override public void F() {
Console.WriteLine("B.F");
}
override public void G() {
Console.WriteLine("B.G");
}
}
class C: B
{
override public void G() {
Console.WriteLine("C.G");
}
}
the class B provides two override methods: an F method that has the sealed
modifier and a G method that does
not. B?s use of the sealed modifier prevents C from further overriding F.
end example]
本文探讨了在面向对象编程中使用密封方法的概念。密封方法能够阻止派生类进一步覆盖基类中的虚拟方法。通过一个具体的例子说明了如何声明和使用密封方法。
515

被折叠的 条评论
为什么被折叠?



