-
속성의 set 메소드에 전달된 암시적 매개변수의 이름은 무엇입니까?
해당 유형은 속성의 선언된 유형과 동일합니다.
C#에서 상속을 구현하는 방법은 무엇입니까?
클래스 이름 뒤에 콜론을 추가하고 그 뒤에 기본 클래스 이름을 추가합니다.
C#은 다중 상속을 지원하나요?
지원되지 않습니다. 이는 인터페이스를 사용하여 달성할 수 있습니다.
보호된 속성/메서드는 어디에서 액세스할 수 있나요?
상속이나 간접 상속 및 이 클래스의 하위 클래스를 통해 액세스할 수 있습니다.
비공개 멤버도 상속되나요?
예, 하지만 접근할 수 없습니다. 그래서 물려받을 수 없는 것처럼 보이지만 사실은 물려받는 것입니다. (제 생각에는 하위 클래스는 상위 클래스로부터 모든 것을 상속받습니다. <Thinking in JAVA>에서는 하위 클래스 객체가 상위 클래스 객체의 완전한 복사본을 갖는다고 말합니다. 클래스를 인스턴스화하는 것은 최상위 슈퍼클래스에서 인스턴스화됩니다. 계층별 래핑 구조. 비공개 제한 액세스 방법은 클래스 내부에만 있을 수 있습니다. 실제로 이는 하위 클래스 개체가 상위 클래스 개체의 모든 것을 소유합니다.
내부적으로 보호되는 수식어를 설명해주세요.
protected Internal에 의해 수정된 속성/메서드는 동일한 어셈블리(Assembly)의 해당 서브클래스에서만 액세스할 수 있습니다.
C#에서는 매개 변수가 하나인 다른 생성자를 구현할 때 매개 변수가 없는 기본 생성자를 유지하려고 합니다. 이런 식으로 생성자를 몇 개나 작성해야 합니까?
둘째, 생성자를 구현하면 C#에서는 더 이상 기본 생성자를 제공하지 않으므로 매개 변수가 없는 생성자를 수동으로 구현해야 합니다.
C#의 모든 개체에 공통적인 기본 클래스는 무엇입니까?
시스템.객체.
오버로딩과 덮어쓰기의 차이점은 무엇인가요?
오버로딩은 다양한 매개변수를 사용하여 메서드 시그니처를 호출하는 구현을 제공합니다. 재정의는 상위 클래스 메서드의 동작을 변경하는 하위 클래스 구현을 제공합니다.
메소드 정의에서 가상은 무엇을 의미합니까?
virtual로 수정된 메서드는 하위 클래스로 재정의될 수 있습니다.
비정적 메서드를 정적 메서드로 재정의할 수 있나요?
아니요, 재정의 메서드의 서명은 virtual을 재정의로 변경하는 것을 제외하고 재정의된 메서드의 서명과 일치해야 합니다.
개인 가상 메서드를 재정의할 수 있나요?
아니요. 상위 클래스의 비공개 메서드라도 하위 클래스에서는 액세스할 수 없습니다.
클래스가 다른 클래스에 상속되는 것을 방지할 수 있나요?
예, 봉인된 키워드를 사용하세요.
특정 클래스의 상속은 허용하지만 그 안에 있는 특정 메서드의 재정의는 허용하지 않는 것이 가능합니까?
예, 이 클래스를 공개로 표시하고 이 메소드를 봉인으로 표시하십시오.
추상 클래스란 무엇입니까?
인스턴스화할 수 없는 클래스입니다. 추상 클래스에는 일반적으로 추상 메서드가 포함되어 있지만 물론 구체적인 구현도 가질 수 있습니다. 상속된 클래스는 추상 클래스의 모든 추상 메서드를 구현한 후에만 인스턴스화될 수 있습니다.
클래스는 언제 abstract로 선언되어야 합니까?
이 클래스에 추상 메소드가 포함되어 있거나 클래스가 상위 클래스의 추상 메소드를 완전히 구현하지 않은 경우.
인터페이스란 무엇입니까?
공용 추상 메서드만 포함하는 클래스입니다. 이러한 메서드는 하위 클래스에서 구현되어야 합니다.
인터페이스의 메서드에 수정자를 지정할 수 없는 이유는 무엇입니까?
인터페이스의 메서드는 개체 간 통신 계약을 정의하는 데 사용됩니다. 인터페이스의 메서드를 비공개 또는 보호로 지정하는 것은 의미가 없습니다. 기본적으로 공개 방법이 사용됩니다.
여러 인터페이스를 상속받을 수 있나요?
틀림없이.
그렇다면 이러한 인터페이스에 중복된 메서드 이름이 있으면 어떻게 될까요?
이 경우 구현 방법을 결정할 수 있습니다. 물론 매우 조심해야 합니다. 하지만 컴파일 과정에는 문제가 없습니다.
인터페이스와 추상 클래스의 차이점은 무엇입니까?
인터페이스의 모든 메서드는 추상이어야 하며 메서드 액세스 한정자를 지정할 수 없습니다. 추상 클래스는 메서드 구현을 가질 수 있으며 메서드에 대한 액세스 한정자를 지정할 수도 있습니다.
오버로드된 메서드를 구별하는 방법은 무엇입니까?
다양한 매개변수 유형, 다양한 매개변수 번호 및 다양한 매개변수 순서.
const와 읽기 전용의 차이점은 무엇입니까?
const 키워드는 컴파일 타임 상수를 선언하는 데 사용되며, readonly는 런타임 상수를 선언하는 데 사용됩니다.
System.String과 System.StringBuilder의 차이점은 무엇입니까?
System.String은 변경할 수 없는 문자열입니다. System.StringBuilder는 변수 문자열을 저장하고 이 문자열을 수정하기 위한 몇 가지 메서드를 제공합니다.
이 기사는 CSDN 블로그에서 가져온 것입니다. 재인쇄할 때 출처를 표시하십시오: http://blog.csdn.net/thy822/archive/2009/12/23/5060689.aspx
-