C# 中的方法重写与方法隐藏
在 C# 中,方法重写和方法隐藏是两种不同的机制,用于修改继承的方法。
方法重写 (Overriding)
方法重写涉及在基类中创建虚方法 (virtual),并在派生类中重新定义其实现。这允许派生类提供更具体或修改后的方法版本,同时保留相同的方法名称和参数。
方法重写用于以下情况:
override
关键字。方法隐藏 (Method Hiding)
方法隐藏涉及创建具有与基类方法相同名称和参数的新方法 (new)。与方法重写不同,方法隐藏在派生类中创建了一个全新的方法,并且不会修改基类方法。
方法隐藏用于以下情况:
new
关键字。实际应用
方法重写 (Overriding):
方法隐藏 (Method Hiding):
示例
以下示例演示了方法重写和方法隐藏:
<code class="language-csharp">class Animal { public virtual void MakeSound() { Console.WriteLine("Generic animal sound"); } } class Dog : Animal { public override void MakeSound() { Console.WriteLine("Bark"); } public new void Run() // 方法隐藏 { Console.WriteLine("Dog running"); } }</code>
在此示例中,MakeSound
方法在 Dog
类中被重写以提供具体的实现。Run
方法被隐藏,在 Dog
类中创建了一个新方法。
以上是C# 中的覆盖与隐藏:有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!