이 게시물은 2014-11-18 19:43에 Delver_Si가 마지막으로 편집했습니다.
1장 (C#OOP) 1..NET Framework(동등한 의미입니다.)자바JDK) 2.포함2섹션: 프레임워크 라이브러리(툴킷),CLR(CTS,CLS) 2장 (C#OOP) 1.C #문법: 주로 대비됩니다자바차이점 (1) 데이터 타입 스트링스트링:C #"의S"소문자와 대문자 모두 괜찮아요, 보통은 소문자죠.자바대문자 표기 불불:자바글쓰기불리언 (2) 변수와 상수들 암시적 변수 생성:VAR대체 데이터 타입 (교과서 예시 참조) 상수 정의하기: 변수를 정의하기 전에 덧셈하세요컨스턴트, 즉 변수는 초기 값을 한 번만 부여할 수 있고 이후에는 수정할 수 없다는 의미입니다 (3연산자, 식(그리고자바저도 마찬가지입니다) (4통제 진술 만약-그렇지 않다면(같은 책)자바) 스위치:1.()문자열을 사용해 비교할 수 있습니다.자바안 돼요 2.각각사건그 다음에는 반드시 써야 합니다브레이크; 자바굳이 쓸 필요는 없어요 하면, 하면, 그리고:( 똑같아요자바) 포리치: C# 문법: foreach (배열 내 데이터 타입 요소 이름 또는 컬렉션 객체) {...} Java 문법: for (데이터 타입 요소 이름: array 또는 collection object) {...} 2.배열 (11차원 배열도 마찬가지입니다자바, 하지만[]변수 다음에 쓸 수 없습니다 (2다차원 배열2종족, 한 가지 비슷한 종류자바, 또 다른 이:int[,] = 새로운 int[3,3]; 2각 글의 의미는 다릅니다 3.열거: 는 여러 상수로 이루어진 컬렉션 유형과 유사한 사용자 지정 데이터 타입입니다 (1문법: 정의: enum enum 타입 이름 {상수 1, 상수 2, 상수 3,...} 선언: 타입 이름 변수 이름을 열거; 초기화: 변수 이름 = 열거 타입 이름. 상수 1; (2정의된 위치:주요메서드는 외부에 작성되었거나,클래스겉면에 적혀 있어 4.데이터 타입 변환:Convert.ToXXXX(어떤 종류의 데이터든); -어떤 유형의 데이터든 지정된 유형의 데이터로 변환할 수 있습니다 3장 (C#OOP) 1클래스: 컴퓨터는 현실을 시뮬레이션하며 실제 사물의 추상화를 설명하고, 클래스는 사용자 정의 합성 데이터 타입입니다 관련 정보를 함께 기록하여 쉽게 작동시키세요 (1) 클래스2주요 구성원: 속성, 메서드 (2정의된 위치: 일반적으로 새로운 위치를 생성합니다클래스문서는 별도로 작성되거나 다른 곳에 작성되어 있습니다클래스병치된 파일들클래스쓰기 (3정의 문법: 공용 클래스명칭 { //특성 publicstring id; publicstring 이름; //메서드 public void study(){ Console.WriteLine("배우는 걸 정말 좋아해요”); } } 2.객체: 특정 클래스의 구현체로, 특정 사물을 설명하며, 커스텀 클래스의 변수로 이해할 수 있습니다 (1인스턴스화된 객체: (동일한 변수의 사용.)3계단) 클래스 이름 오브젝트 이름= 새클래스 이름(); 또는: 클래스 이름 오브젝트 이름(변수 이름); //객체를 선언하기 오브젝트 이름= 새클래스 이름(); //이 객체를 초기화하세요(가변) (2사용되는 객체: 일반적으로 객체의 구성원(속성과 메서드)을 사용합니다. attribute: object name을 사용하세요. 속성 이름 사용 방법: 객체 이름. 메서드 이름 (); 3.건설 방법: 객체를 인스턴스화할 때는 "새로운클래스 이름()”,클래스 이름()이는 물체를 구성하는 데 사용되는 구성 방법입니다. (1) 클래스를 정의할 때 생성 메서드가 자동으로 생성되며, 클래스는 숨겨져 있습니다. (2) 구성 방법은 다시 작성할 수 있으며, 예를 들어 객체가 인스턴스화될 때 구성 방법이 호출됩니다. 객체에 초기 값을 할당하고 싶다면, 구성 메서드에 매개변수를 추가할 수 있습니다 4.초기 값이 불확실할 경우, 과부하를 통해 구현할 수 있습니다. (메서드 오버로드: 같은 메서드 이름에 다른 매개변수 목록.)1, 번호;2, 유형;3, 순서) 참고: (1) 구성 메서드 이름이 클래스 이름과 동일하며, 반환 값이 없습니다(void는 쓰이지 않음) (2) 매개변수가 없는 숨겨진 구성 방법은 수작업 작성 후 덮어쓰입니다. (3) 일반적으로 클래스를 정의할 때는 두 가지 구성 방법을 사용합니다: 매개변수 없이 그리고 모든 속성에 매개변수가 할당된 방법입니다. 5.구성 메서드 매개변수 이름과 속성 이름이 같다면 어떻게 구분할 수 있을까요? this: 이 유형의 객체를 나타냅니다. (현재 클래스의 객체) 속성을 지정할 때는 다음을 사용하세요 6.네임스페이스: 폴더와 동등한 개념 클래스가 다른 폴더(네임스페이스)에 배치되면 다음을 통해 할 수 있습니다:”네임스페이스 이름.클래스 이름”접근 또한 반에서 상위권에 작성할 수도 있습니다사용경로 집합이며, 다음 클래스들은 경로를 가질 필요가 없습니다 7.접근 수정: 공개: 어디서나 이용 가능한 공개 내부: 기본값은 생략할 수 있으며 동일한 네임스페이스 내에서 사용할 수 있습니다 보호: 보호된 클래스, 부모 클래스와 하위 클래스 간에 사용할 수 있습니다 비공개: 개인용으로, 오직 본인만 사용할 수 있습니다 8.가치 유형 및 참조 유형 (이전에 배운 것을 참조)지능배열과 배열 인자 호출의 차이점) 값 유형: 정수, 더블 및 기타 8가지 기본 데이터 타입, 열거, 구조체 (나중에 배울 예정) 참조 유형: 배열, 클래스 참고: 문자열은 특별하며, 참조 타입이지만 동시에 값 패스입니다 9.짐 싸기와 풀기 Bin: 값 유형을 참조 유형으로 변환합니다 언박싱: 참조 타입을 값 타입으로 변환합니다 제4장 1.ref그리고나가세요키워드: 함수: 값 타입의 변수를 참조 타입으로 전달합니다 작성 방법: 물리 매개변수 앞에 각각 덧셈, 실수 매개변수 앞에 덧셈참고(나가세요) 메모:1.메서드를 정의할 때,참고(나가세요)는 매개변수 데이터 타입 앞에 작성됩니다 2.메서드를 호출할 때,참고(나가세요실수 인자는 상수를 쓸 수 없고 변수만 쓸 수 있다 3.ref그리고나가세요차이점:나가세요이후 매개변수는 초기화되지 않은 변수일 수 있습니다.참고안 돼요 2. 정적수정자: 정적 활용 방법:정적접근 수정자로 작성됨 (공공등등). 사용되는 객체: 클래스, 속성, 메서드 노트:1. 정적인클래스를 수정할 때, 그 클래스의 모든 속성과 메서드는 다음과 같아야 합니다정적의 2.사용정적속성과 수정 방법은 클래스 이름을 통해 직접 적용됩니다.속성 (클래스 이름.메서드)를 호출하기 위해 3.메서드 과부하: 참고문헌윈폼지식 포인트 5장 1.구조체: 클래스와 유사한 데이터 타입(클래스의 전신) 정의: 클래스와 같고,클래스키워드가 다음과 같이 변경되었습니다구조그거에요 본보기:구조 학생 { 공개 문자열 이름; 공공 공공 연구() {} } 클래스 간 차이점:1.구조체는 값 유형이고, 클래스는 참조 유형입니다(강조). 2.구조체는 다음과 같이 배포할 수 있습니다.새로운인스턴스화에서는 클래스가 반드시 사용되어야 합니다새로운 3.구조체는 상속할 수 없지만, 클래스는 상속될 수 있습니다 2.속성: 클래스 내 멤버 변수를 캡슐화하는 데 사용됨 (메서드를 통해 멤버에 제한을 추가함) 문법:개인 문자열 이름; // 공개 문자열 이름 //첫 글자의 대문자 사용에 주목하세요 { get{ 이름 반환; } // 속성 읽기 set{ 이름 = 값; } // 속성 작성 } 자동차 특성:3.0판본 및 그 이상, 더 단순한 글쓰기 문법:공개 문자열 이름 { get; 세트; } 3.인덱서: 배열 변수의 구성원을 클래스에 캡슐화하고 배열에서 요소를 찾는 방식을 최적화하는 데 사용됩니다 일반적으로 다음과 같이 작성하세요2종 색인 문법 1: 첨자 인덱서 공공 학생 this[int index] { get{ Return Students[index]; } set { students[index] = value; } } 문법 2: 문자열 인덱서 // 일반적으로 읽기 속성만 있고 쓰기 속성은 없습니다 공학생 this[문자열 이름] { 가져오기 { Studentstu = null; foreach(학생 s inthis.students) { if(s.Name == 이름) { stu = s; } } 리턴스투; } } 사용: 객체 이름[색인]또는 오브젝트 이름[“스트링”] 6장 1.Delegate: delegate는 메서드의 서명을 저장하는 데 사용되는 데이터 타입으로, 이 데이터 타입으로 선언된 변수에 의해 저장됩니다 함수: 메서드 이름을 매개변수로 전달할 수 있습니다 사용법: 1. 위임의 정의 공개 대리자 반환 값 유형 대리자 유형 이름(매개변수 유형 매개변수 1,...); 2. 위임자 변수를 선언하고 인스턴스화합니다 (위임자 바인딩 메서드의 경우: 반환 값 타입과 매개변수 목록이 일관되어야 함) 대의자 타입 이름 Delegate 변수 이름 = 새로운 Delegate 타입 이름 (메서드 서명); 메서드 서명은 () 3. 위임 소환 위임된 변수 이름(매개변수 1,...); 특징: 대의원은 여러 메서드에 바인딩될 수 있습니다”+=”,지정된 메서드를 되돌릴 수도 있습니다” -=” 익명 방법: 메서드를 정의하지 않으며(메서드 이름 없음), 메서드 내용을 직접 대리인에 묶습니다 2.이벤트: 캡슐화된 위임 변수(클래스 내 속성과 멤버 변수 간의 관계와 동등) 용법: 전제: 위임 정의 //어떤 수업이든 아닌 곳에서 글을 쓰세요 1.이벤트를 정의하세요(즉, 캡슐화된 대리자 변수를 선언하기)//사건 출처에 작성됨 공개 행사주문 유형 명칭 사건 명칭; 2.이벤트 구독 (이벤트 메서드를 묶기 위해 ) 사건 명칭+= 새주문 유형 명칭(메서드 서명); //사고 대응자들의 접근 방식 3.이벤트를 제기하기(대리인 호출과 유사)//사건 출처에 작성됨 사건 명칭(매개 변수1,…); 참고: 사건은 일반적으로 다음과 같이 발생합니다2객체: 이벤트 소스 그리고 사건 대응자 제7장 1.상속: 서브클래스(파생 클래스)는 부모 클래스(기본 클래스)를 상속하며, 서브클래스는 부모 클래스의 속성과 메서드를 가집니다 문법: (클래스를 정의할 때) 하위 범주:부계급 특성:1.단일 루트. 서브클래스는 단 하나의 부모 클래스만 상속받을 수 있습니다 특성:2.전파력. 만약A상속B,B상속C, 그럼A또한 상속됨C 2. 보호됨:(보호된) 멤버 변수나 메서드는 자신이나 그 서브클래스에만 사용할 수 있습니다 3.상속에서의 구성 메서드: 먼저 부모 생성자를 호출한 후 자식 클래스 생성자를 호출합니다 메서드 1: 암묵적 호출: 기본적으로(명시사항 없이) 서브클래스는 매개변수 없이 부모 클래스의 구성 메서드를 호출합니다 방법 2: 명시적 호출: 부모 클래스를 호출하는 구성 메서드를 지정합니다. public Son (문자열 이름, 문자열 성별, stringcolor) : 베이스(이름, 성별) { headColor = 색상; } 4. 봉인됨: 클래스가 상속되고 싶지 않다면, 그 키워드를 추가할 수 있습니다 5.상속에서의 재작성 방법 (오버라이드(다형성) 문법: 부모 클래스의 메서드가 사용됩니다가상(또는 )오버라이드수정 및 하위 클래스를 사용할 수 있습니다오버라이드다시 쓰세요 기능: 참조 사례7 교훈 참고: 자식 클래스가 부모 클래스를 상속한다면, 부모 클래스 참조에 자식 클래스 객체를 넣을 수 있습니다 6.무거운 부하 (과부하) 그리고 다시 쓰기 (오버라이드) 차이 구별하다:1。 오버로드는 같은 이름을 가진 여러 메서드를 가진 클래스입니다; 리라이트는 같은 이름을 가진 두 클래스(부모 클래스와 자식 클래스)에 속한 메서드입니다. 2오버로드 메서드의 이름은 같지만 매개변수 목록은 다릅니다; rewrite 메서드 이름과 매개변수는 동일하며, 다음을 사용하세요가상부모 메서드를 수정하면,오버라이드하위 클래스 메서드 수정 8장 추상적 방법: 사용초록그루밍 방법 1.추상 클래스: 사용초록수정자 클래스 (공공 추상 클래스클래스명) 특성:1.추상 클래스는 객체를 인스턴스화할 수 없으며 서브클래스에 의해서만 상속될 수 있습니다 2.클래스에 추상 메서드가 있다면, 그 클래스는 추상 클래스여야 합니다; 하지만 추상 클래스를 정의할 때 반드시 추상적 메서드가 포함될 필요는 없습니다. 3.추상 클래스는 구체적 메서드(비추상 메서드)를 가질 수 있습니다 4.서브클래스가 추상 클래스를 상속할 때, 서브클래스가 추상 클래스인 경우를 제외하면 모든 추상 메서드를 그 추상 클래스에 구현해야 합니다 5.추상 클래스는 구성 메서드를 가질 수 있지만, 스스로 호출할 수 없고 서브클래스에 호출됩니다 2.인터페이스: 키워드로 표준 및 명세를 정의하세요인터페이스, 인터페이스는 데이터 타입입니다 메모:1.인터페이스는 메서드, 속성, 인덱서, 이벤트만 선언할 수 있습니다 2.인터페이스의 콘텐츠는 기본적으로 모두공공, 그래서 수정자를 추가할 필요가 없고, 작성하면 오류가 컴파일됩니다 3.인터페이스 이름은 대문자로 표기합니다."나는"시작 4.클래스가 인터페이스를 구현한다면, 그 인터페이스의 모든 것이 구현되어야 하며, 클래스가 추상 클래스인 경우는 예외입니다 특성:1.인터페이스는 여러 클래스에서 상속할 수 있습니다(클래스는 한 클래스는 한 개의 부모 클래스만 상속할 수 있지만, 여러 인터페이스를 동시에 구현할 수 있습니다) 2.상속된 부모 클래스는 ":" 다음의 첫 번째 위치에 작성되어야 하며, 이후 인터페이스들은 ","로 구분되어야 합니다 3.클래스가 동일한 메서드 이름을 가진 여러 인터페이스를 구현한다면, 그 인터페이스는 디스플레이로 구현되어야 합니다 4.인터페이스는 바인딩될 수 있습니다 5. 매개변수로서의 인터페이스, 다형성도 실현할 수 있다 3.is그리고as사용 이야.: 어떤 물체가 특정 유형인지 판단한다,만약 그것이 반품이라면true, 아니면 반환합니다.false 예시:만약(c 는 IPrint입니다) as: 객체를 특정 타입으로 변환합니다 예시: IPrint c1 = c가 IPrint로 사용된다; 4.추상 클래스와 인터페이스의 차이점 (교과서 참조)P189)
|