C# 메소드 숨겨지고 다시 쓰기 : 자세한 설명
C#에서 파생 클래스는 기본 클래스 메소드를 두 가지 방식으로 작동 할 수 있습니다 : 메소드 숨어 및 메소드 재 작성. 이 두 개념을 이해하는 것의 차이는 효과적인 코드 유지 보수 및 상속에 필수적입니다.
가 숨겨져 있습니다
다시 작성
> 예 : 클래스 B의 인스턴스가 clb.bar ()를 호출 할 때 클래스 B에서 다시 쓰기 구현을 실행하고 "1"을 출력합니다. 필수 카테고리 A로 CLB를 변환하면 호출과 재현이 항상 호출되기 때문에 행동에는 영향을 미치지 않습니다. 주요 차이점
기초 방법을 숨기고 파생 클래스에 숨겨진 새 메소드를 만들어 기본 클래스의 구현을 숨 깁니다. 재 작성은 기본 클래스의 실현을 대체했습니다.
재 작성하려면 키워드가 필요합니다.
재 작성이 필요합니다. 재정의 키워드를 사용하여 예상 교체를 명시 적으로 표시해야합니다.<code class="language-csharp">class A { public int Foo(){ return 5;} } class B : A{ public new int Foo() { return 1;} //隐藏 }</code>
기본 클래스의 구현을 숨겨서 숨기는 것은 상속 체인을 파괴 할 수 있습니다. 상속 관계를 다시 작성합니다.
숨겨진 방법은 다형성이 아닙니다.숨겨진 방법은 다중 상태 메커니즘 (예 : 동적 결합)의 영향을받지 않습니다. 다시 쓰기 방법은 다형성을 보여주고 실제 객체 유형에 따라 다른 응답을 만듭니다.
위 내용은 메소드 섀도 잉과 C#의 재정의의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!