이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 17906|회답: 0

[출처] C#의 base와 이 키워드들

[링크 복사]
게시됨 2016. 6. 27. 오후 11:33:30 | | |

base:
파생 클래스에서 공개 또는 보호된 기본 클래스 구성원에 대한 접근을 가능하게 하는 데 사용되지만, 이는 구성자, 인스턴스 메서드, 인스턴스 속성 접근자에만 해당됩니다.
MSDN 요약의 구체적인 특징은 다음과 같습니다:
    (1) 기본 클래스 내 다른 메서드들로 덮어쓴 메서드를 호출합니다.
    (2) 파생 클래스 인스턴스를 생성할 때 호출해야 할 기본 클래스 생성자를 지정한다.
base는 파생 클래스 객체가 초기화될 때 기본 클래스와 통신하는 데 일반적으로 사용됩니다.
베이스는 기본 클래스의 공개 및 보호된 멤버에 접근할 수 있으며, 개인 멤버는 접근할 수 없습니다.
다층 상속에서 base가 부모 클래스를 가리킬 수 있는 두 가지 상황이 있습니다: 첫째, 과부하가 발생하면 base는 직접 상속하는 부모 클래스 구성원의 메서드를 가리킵니다; 과부하가 없는 경우, 베이스는 부모 메서드의 공용 또는 보호된 메서드를 가리킬 수 있습니다.
this:
클래스를 참조하는 현재 인스턴스, 즉 상속된 메서드는 보통 이를 숨길 수 있습니다.
MSDN의 요약 기능은 주로 다음과 같습니다:

    (1) 비슷한 이름으로 숨겨진 멤버를 제한한다
    (2) 객체를 매개변수로 다른 메서드에 전달한다
    (3) 선언 인덱서
이는 클래스 객체 자체를 가리키며, 접근 요소의 접근 수준과 관계없이 클래스의 모든 상수, 필드, 속성, 메서드 멤버에 접근하는 데 사용됩니다. 이것은 물체 내부에만 한정되어 있고 물체 밖에서는 볼 수 없기 때문에, 이것이 기본 개념입니다. 또한, 정적 멤버는 객체의 일부가 아니므로 정적 메서드에서 참조할 수 없습니다.

일반 규칙:

1. 베이스와 이것을 가능한 한 적게 사용하세요. 서브클래스 이름 충돌을 피하고 한 창조자에서 다른 창조자를 호출하는 것 외에도, 기본 생성기를 사용하면 원치 않는 결과를 초래할 수 있습니다.
2. 기본 및 정적 멤버 내 사용은 허용되지 않습니다. 그 이유는 base와 this가 클래스, 즉 객체의 두 인스턴스 모두에 접근할 수 있지만, 정적 멤버는 객체가 아닌 클래스에서만 접근할 수 있기 때문입니다.
3. 기저 기반은 다형성을 달성하도록 설계되었다.
4. this 또는 base 키워드를 사용하여 하나의 생성자만 지정하므로, 이 키워드와 base는 동시에 생성자에 적용할 수 없다.
5. 간단히 말해, base는 파생 클래스 내 재작성된 기본 클래스 멤버에 접근하는 데 사용됩니다; 물론 이 범주의 구성원, 즉 상속된 공공 소유 및 보호 회원을 포함해 접근하는 데 사용됩니다.
6. 기본 외에도, 기본 클래스 멤버에 접근하는 또 다른 방법은 표시되는 타입을 변환하는 것입니다. 단지 이 방법이 정적인 방법일 수는 없다는 점입니다.




이전의:asp.net vc에서 큰 파일을 업로드할 때 404 오류
다음:.NET Core란 무엇인가요?
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com