전언
나는 이전에 다태를 깊이 이해한 적이 없어서 코드를 몇 번 두드린 후에 이런 해석적인 문장을 돌아보고 이것이 무슨 뜻인지 깨달았다
대상을 향한 6대 원칙
단일 직책 원칙개폐원칙리씨전환원칙 역치원칙에 의존 인터페이스 격리 원칙 디미트 원칙 대상을 대상으로 하는 3대 특성의 봉인 계승 다태 상속 관계에서 서로 다른 대상을 실례화하고 이런 대상은 같은 방법을 사용하지만 서로 다른 행위를 나타낸다. 이를 다태라고 한다.
다태
C#에서 다태를 나타내는 세 가지 방식, 허법, 추상류, 인터페이스겉치레
부류에서virtual로 수식하는 방법으로 이 방법의 공통된 기능을 실현하고 부류에서 이 방법을 다시 쓸 때base 키워드를 사용하여 부류의 이 방법을 호출할 수 있다리치 변환 원칙
하위 클래스 대상은 부모 변수에 직접 값을 부여할 수 있다 하위 클래스 대상은 하위 클래스의 구성원을 호출할 수 있지만, 하위 클래스 대상은 영원히 자신의 구성원만 호출할 수 있다 부류 대상에 부류 대상이 있다면 이 대상을 부류 대상으로 강제로 전환할 수 있다is와 as 둘 다 유형 변환
is 변환에 성공하여true로 돌아가지 않으면false로 돌아갑니다.
as 변환 성공, 대응하는 대상을 되돌려줍니다 실패는null로 되돌려줍니다
리치 원칙을 써야만 해결할 수 있는 문제
추상적인 방법(방법이 충분하고 아무런 방법체도 없을 때)
허법은 방법체가 있고 추상적인 방법은 방법체가 없다 추상적인 방법은 반드시 이불류가 실현되어야 한다 키워드 abstract 키워드로 수식주의 사항
추상적인 방법은 반드시 추상류에 있어야 한다. 추상류는 반드시 추상적인 방법이 있어야 한다 추상류는 실례화될 수 없음장면 작업
부류 중의 방법은 어떻게 실현되는지 모르기 때문에 부류를 추상류로 쓰고 방법을 추상법으로 쓸 수 있다 부류 중의 방법은 기본적으로 실현되고 부류는 실례화되어야 한다. 부류를 하나의 일반 클래스로 정의하고 허법으로 다태를 실현할 수 있다 부류의 방법이 기본적으로 실현되지 않으면 부류도 실례화되지 않고 추상류로 정의할 수 있다인터페이스(추상류의 방법은 모두 추상적인 방법일 때)
이 추상류를 인터페이스의 형식으로 표현할 수 있다키워드인터페이스는 필드를 포함할 수 없지만 속성을 포함할 수 있습니다.
자동 속성 사용 방법체가 있을 수 없고 모두 추상적인 방법이지만 abstract로 수식할 필요가 없다 액세스 수식자가 있을 수 없습니다. 기본값은 모두public입니다.
주의 사항
인터페이스의 모든 방법은 추상적인 방법이기 때문에 인터페이스가 실례화될 수 없다 한 종류는 여러 인터페이스를 실현할 수 있고, 실현된 여러 인터페이스는 쉼표로 구분 한 인터페이스는 여러 인터페이스를 계승할 수 있고 인터페이스 사이도 쉼표로 구분해야 한다류와 류 사이는 단상속장면 작업
인터페이스는 일종의 능력, 일종의 규범이다. 우리가 현재 존재하는 유형의 계승 관계를 확장할 때 인터페이스로 해당하는 작업을 완성할 수 있다등록 정보
속성은 두 가지로 나뉘는데 일반 속성과 자동 속성이다 자동 속성은 대응하는 필드를 쓸 필요가 없습니다. C#컴파일러는 자동으로 대응하는 필드를 추가합니다 public int Age{get; set;} // ,
장면 대비 사용
허법 부류 중의 개별 방법은 허법으로 실현하고 자류 계승은 다시 쓸 수 있다 추상류, 부류는 일련의 규범을 정의하고 부류에서 규범을 모두 실현한다 인터페이스 기능 확장, 기존 클래스의 계승 관계 이외의 새로운 기능 확장봉인된 접근 수식자
다섯 가지 수식기private는 현재 클래스 내부에서만 접근할 수 있고 하위 클래스, 실례 대상은 [사유 접근]에 접근하지 못합니다.
public 현재 클래스, 하위 클래스, 실례 대상은 모두 [공개 방문]에 접근할 수 있다.
인터넷은 현재 프로그램 집합 (프로젝트) 에서만 접근할 수 있습니다 [내부 접근] 보호된 항목은 현재 클래스의 내부와 이 클래스의 하위 클래스에만 접근할 수 있고 실례적인 대상은 [보호된 접근]에 접근하지 못한다.
보호된 인터넷은 두 가지 접근 권한을 더한 것이다수식류
수식할 수 있는 접근 수식자는 두 개,public와internal클래스의 기본 접근 수식자는 인터넷이다.
코스메틱 클래스 멤버
다섯 가지 방문 수식자 모두 수식류의 구성원 클래스의 구성원 기본 접근 수식자는private정태
정적 필드
static 키워드로 장식된 필드, 정적 필드라고 합니다
정적 필드 재할당 가능 정적 필드에 저장된 데이터는 메모리에 1부만 있음
정적 구성원은 클래스 이름만 통과할 수 있습니다.구성원 이름 접근, 실례 대상 접근불가정적 속성
정적 속성은 정적 필드를 봉인하는 데 사용되며 비정적 필드를 봉인하는 데 사용할 수 없음 정적 구성원이 비정적 구성원보다 먼저 존재하기 때문정적 방법
static로 수식하는 방법은 유명으로 한다.정적 방법명 호출 정적 방법에서 비정적 구성원을 호출할 수 없음 일반적인 방법에서 정적 구성원을 호출할 수 있음정적 구조 방법
한 종류는 정적 구조 방법이 하나밖에 없다 정적 구성원을 초기화하는 데 사용되며 액세스 수식자도 없고 매개 변수도 없음 정적 클래스에 정의할 수도 있고 비정적 클래스에 정의할 수도 있다 정적 구조 방법은 프로그램이 첫 번째 실례를 만들거나 어떤 정적 구성원을 인용하기 전에 클래스에서 정적 구성원의 초기화를 완성한다정적 클래스
클래스의 구성원이 모두 정적 구성원일 때 정적 클래스로 성명할 수 있다
키워드 static 정적 클래스에 비정상적인 구성원이 존재할 수 없음 정적 클래스는 실례화할 수 없음주의
먼저 정적 구성원이 있고, 나중에 실례 구성원이 있으며, 나중에 먼저 나타난 을 호출할 수 있다.
포장과 해체
포장 값 유형 - 참조 유형 해체 인용 유형-값 유형 두 가지 유형은 상속 관계가 있을 때만 포장 또는 해체 작업이 발생할 수 있다 포장과 해체는 본질적으로 데이터가 창고 공간과 퇴적 공간에 저장되는 변경이다. 빈번한 해체는 운행 속도를 낮추고 가능한 한 적게 사용할 수 있다사전 컴파일 명령 (프로그램이 정식으로 컴파일되기 전에 실행하면 실행 가능한 코드로 바뀌지 않습니다)
구역 명령#region Info
......
#endregion
객체 초기화기
문법 양식 = new (){ = , = };
응용 장면은 한 클래스의 속성이 매우 많을 때 각종 상황에 대해 구조 방법을 정의할 수 없고 대상 초기화기로 속성의 값을 완성할 수 있다류 중 구조 방법이 필요 없음
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지
Evergreen
.Net Framework SDK 4.8
VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.