C#의 메서드 재정의 및 메서드 숨기기
C#에서 메서드 재정의와 메서드 숨기기는 상속된 메서드를 수정하기 위한 두 가지 서로 다른 메커니즘입니다.
메서드 재정의
메서드 재정의에는 기본 클래스에 가상 메서드를 만들고 파생 클래스에서 해당 구현을 재정의하는 작업이 포함됩니다. 이를 통해 파생 클래스는 동일한 메서드 이름과 매개 변수를 유지하면서 보다 구체적이거나 수정된 버전의 메서드를 제공할 수 있습니다.
메서드 재정의는 다음과 같은 상황에서 사용됩니다.
override
키워드를 사용하세요. 메소드 숨기기
메서드 숨기기에는 기본 클래스 메서드와 동일한 이름과 매개변수를 사용하여 새 메서드(new)를 만드는 작업이 포함됩니다. 메서드 재정의와 달리 메서드 숨기기는 파생 클래스에 완전히 새로운 메서드를 생성하고 기본 클래스 메서드를 수정하지 않습니다.
메소드 숨기기는 다음과 같은 상황에서 사용됩니다.
new
키워드를 사용하세요. 실습
메서드 재정의:
메서드 숨기기:
예
다음 예에서는 메소드 재정의 및 메소드 숨기기를 보여줍니다.
<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!