C#의 단순 데이터 유형인 값 유형에 대한 학습을 마쳤습니다. 다음으로 C#의 또 다른 데이터 유형인 참조 유형을 학습합니다. 여기서 "참조"라는 단어는 이 유형의 변수를 저장하지 않는다는 의미입니다. 값을 직접 지정하지만 저장하려는 값을 가리킵니다. 즉, 참조 유형은 변수의 주소를 저장합니다. C#에는 4가지 참조 유형이 있습니다.
클래스
는
배열
을 나타냅니다.인터페이스
여기서는 먼저 각각의 의미와 정의를 간략하게 소개하고, 나중에 구체적인 예를 작성하여 자세히 소개하겠습니다.
클래스
클래스는 객체지향 조직의 기본 단위이며, 데이터 멤버, 함수 멤버, 중첩형을 포함하는 데이터 구조입니다. 클래스의 데이터 멤버에는 상수, 필드 및 이벤트가 포함됩니다. 함수 멤버에는 메서드, 속성, 인덱스 표시기, 연산자, 생성자 및 소멸자가 포함됩니다. 클래스와 구조체(구조체)에도 자체 멤버가 포함되어 있지만 이들 간의 주요 차이점은 다음과 같습니다. 클래스는 참조 유형이고 구조는 값 유형입니다. 클래스는 상속 메커니즘을 지원합니다. 파생 클래스를 상속하면 기본 클래스의 데이터 멤버와 함수 메서드를 확장하여 코드 재사용 및 디자인 재사용 목적을 달성할 수 있습니다. (클래스의 상속과 파생에 대해서는 나중에 자세히 설명하고, 클래스 정의는 다음 글에서 작성하겠습니다.) 클래스를 정의할 때 데이터 유형의 청사진을 정의합니다. 이는 실제로 어떤 데이터도 정의하지 않지만(주소이기 때문에) 클래스 이름이 무엇을 의미하는지, 즉 클래스의 객체가 무엇으로 구성되어 있는지, 이 객체에 대해 어떤 작업을 수행할 수 있는지를 정의합니다. 객체는 클래스의 인스턴스입니다. 클래스를 구성하는 메서드와 변수는 클래스의 멤버가 됩니다. 특정 클래스에 대한 변수를 정의하면 이를 클래스의 인스턴스라고 부릅니다(객체라고도 부르지만 나중에 이름을 변경하겠습니다). C#에서 일반적으로 사용되는 두 가지 클래스인 Object 클래스와 String 클래스에 대해서도 나중에 자세히 설명할 것임을 다시 한 번 언급하겠습니다.
은
을 나타냅니다. C#의 대리자(대리자, Delegate라고도 함)는 C/C++의 포인터와 유사하지만 포인터는 C/C++에서 안전하지 않습니다. 실수로 삭제하면 전체 프로그램이 중단될 수 있으며 Delegate는 C#에서 안전합니다. Delegate는 System.Delegate 클래스에서 파생된 특정 메서드를 참조합니다. Delegate가 정의되면 이는 System.Delegate의 확장입니다. 구체적인 사용법은 나중에 자세히 다루겠습니다.
배열
데이터를 일괄 처리할 때 배열은 C/C++와 마찬가지로 동일한 유형의 정렬된 데이터 집합입니다. 데이터 요소의 배열 이름, 유형 및 차원으로 설명되는 데이터를 저장하는 데 사용되는 컬렉션입니다. C#에서 제공되는 System.Array는 모든 배열 유형의 기본 클래스입니다. 배열의 특정 요소는 인덱스로 액세스됩니다. 모든 배열은 연속적인 메모리 위치로 구성됩니다. 가장 낮은 주소는 첫 번째 요소에 해당하고 가장 높은 주소는 마지막 요소에 해당합니다.
인터페이스
인터페이스는 인터페이스를 상속할 때 모든 클래스가 따라야 하는 구문 계약을 정의합니다. 인터페이스는 구문 계약의 "무엇" 부분을 정의하고 파생 클래스는 구문 계약의 "방법" 부분을 정의합니다. 인터페이스는 인터페이스의 멤버인 속성, 메서드 및 이벤트를 정의합니다. 인터페이스에는 멤버 선언만 포함됩니다. 멤버 정의는 파생 클래스의 책임입니다. 인터페이스는 파생 클래스가 따라야 하는 표준 구조를 제공합니다. 추상 클래스는 어느 정도 인터페이스와 유사하지만 기본 클래스에서 선언하고 파생 클래스에서 구현하는 메서드가 몇 개만 있는 경우에만 주로 사용됩니다. (즉, 인터페이스는 메서드 선언만 제공하고, 구체적인 메서드는 이를 상속하는 하위 클래스에 의해 결정됩니다. 예를 들어 5명에게 각각 100위안을 준다면 그들이 100위안으로 무엇을 하든 내 상관이 아닙니다. . 돈 제공만 담당) 인터페이스는 클래스 선언과 유사한 인터페이스 키워드를 사용하여 선언됩니다. 인터페이스 선언은 기본적으로 공개됩니다. 인터페이스를 통해 다중 상속이 가능합니다. (자세한 내용은 추후에)
위 내용은 C# 학습일기 12---데이터 유형 참조 유형(서문)의 내용입니다. 자세한 내용은 PHP를 참고하세요. 중국사이트(m.sbmmt.com)!