ASP.NET 개발 필기시험 문제 상해(4)-인덱스(Indexer),FOREACH,ASP.NET 서버 컨트롤러의 생명주기, 인터페이스와 추상 클래스, 사용자 정의 컨트롤러와 일반 사용자 컨트롤러의 공통점, 대상을 향한 개념과 특징

문제5: C#에서 인덱스의 실현 과정을 설명하는데 숫자에 따라만 인덱스를 할 수 있습니까?참고 답안: 인덱스(Indexer)는 C#가 도입한 신형 클래스 구성원으로 대상이 수조처럼 편리하고 직관적으로 인용될 수 있도록 한다.인덱스는 속성과 매우 유사하지만, 인덱스는 매개 변수 목록을 가지고 있을 수 있으며, 실례 대상에만 작용할 수 있을 뿐, 클래스에 직접적으로 작용할 수 없다.다음은 전형적인 색인기의 디자인인데 우리는 여기서 구체적인 실현을 소홀히 했다.
class MyClass{
    public object this [int index]{
        get{
             //    
        }
        set{
             //    
        }
    }
}

주의, 이곳의 속성 이름은this입니다. 이것은 인용 클래스의 현재 실례를 의미하며, 매개 변수 목록은 괄호가 아닌 네모난 괄호 안에 포함됩니다.인덱스 파라미터는 모든 종류를 사용할 수 있지만 int는 일반적으로 사용하면서도 가장 합리적인 종류입니다.같은 클래스에 하나 이상의 색인기를 가지고 있을 수도 있습니다. (다시 불러오기)
 
질문 6C#에서 FOREACH 클래스를 두루 지원하려면 어떻게 해야 합니까?
집합을 순환적으로 방문하려면 집합은 반드시 특정한 요구를 만족시켜야 한다.예를 들어, 다음 foreach 문에서 다음을 수행합니다.
   foreach (ItemType item in myCollection)
myCollection은 다음 요구 사항을 충족해야 합니다.
집합 형식:interface,class,struct이어야 합니다.GetEnumerator라는 인스턴스 유형을 반환하는 방법(예: Enumerator)을 포함해야 합니다.Enumerator 유형(클래스 또는 구조)에는 ItemType을 반환하거나 이 유형의 유형으로 변환할 수 있는 Current라는 속성이 포함되어야 합니다.속성 액세서리는 집합의 현재 요소를 되돌려줍니다.MoveNext라는 bool 메서드는 항목 카운터를 늘리고 집합에 더 많은 항목이 있을 때true로 되돌려줍니다.컬렉션을 사용하는 방법에는 세 가지가 있습니다.
1. 상기 지도를 사용하여 집합을 만듭니다.이 컬렉션은 C# 프로그램에만 사용할 수 있습니다.
2. 상기 지도를 사용하여 일반 집합을 만들고 IEnumerable 인터페이스를 실현한다.이 컬렉션은 다른 언어(예: Visual Basic)에 사용할 수 있습니다.
3. 집합 클래스에서 미리 정의된 집합을 사용한다.
(ms-help://MS.NETFrameworkSDKv1.1.CHS/csref/html/vclrfusingforeachwithcollections.htm#vclrfforeachcollections_example1)
질문 7: ASP.NET 서버 컨트롤의 라이프 사이클: 1.초기화 - Init 이벤트(OnInit 메서드).2. 뷰 상태 로드 - LoadViewState 메서드.3. 리셋 데이터 처리 - LoadPostData 방법은 IPostBackDataHandler 인터페이스를 실현하는 컨트롤러, 즉 리셋 데이터를 자동으로 불러올 수 있는 컨트롤러, 예를 들어 TextBox, DropDownList 등이다.4. 로드 - Load 이벤트(OnLoad 메서드)5. 변경 통지 반송 - RaisePost DataChanged Event 방법은 IPostBack DataHandler 인터페이스를 실현하는 컨트롤러, 즉 반송 데이터를 자동으로 불러올 수 있는 컨트롤러입니다.3단계에서 리셋 데이터를 불러오고 리셋 전후 데이터가 변경되면 해당 서버 이벤트를 터치합니다.6. 리셋 이벤트 처리 - RaisePost Back Event 방법, IPost Back Event Handler 인터페이스를 실현하는 컨트롤러, 즉 리셋을 일으킬 수 있는 컨트롤러, 예를 들어 Button, Link Button, Calendar 등.7. 프리젠테이션 - PreRender 이벤트(OnPreRender 메서드).8. 뷰 상태 저장 - SaveViewState 메서드.9. 렌더링 - 렌더 방법.10. 폐기 - Dispose 방법.11. 제거 - UnLoad 이벤트(OnUnLoad 메서드).
 
문제8: 인터페이스와 추상류는 어떤 차이가 있습니까?당신이 인터페이스와 추상류를 선택한 근거는 무엇입니까?
추상 클래스는 실례화할 수 없고 반드시 그 중에서 계승해야 하는 클래스이다.추상류는 완전히 실현될 수 있지만 더욱 흔히 볼 수 있는 것은 부분적으로 실현되거나 근본적으로 실현되지 않아 계승류의 통용 기능을 봉인하는 것이다.
'인터페이스'는 완전히 추상적인 구성원 집합으로 조작 정의 계약으로 볼 수 있다.인터페이스의 실현은 완전히 개발자에게 남겨 두었다.다음은 인터페이스 또는 추상 클래스를 사용하여 어셈블리의 멀티태스킹을 결정하는 데 도움이 되는 몇 가지 권장 사항입니다.
구성 요소의 여러 버전을 만들 것으로 예상되면 추상 클래스를 만듭니다.추상 클래스는 구성 요소의 버전을 제어하기 위해 간단하고 실행하기 쉬운 방법을 제공합니다.기본 클래스를 업데이트하면 모든 계승 클래스가 변경에 따라 자동으로 업데이트됩니다.다른 한편, 인터페이스가 일단 만들어지면 변경할 수 없다.인터페이스의 새 버전이 필요하면, 새로운 인터페이스를 만들어야 합니다.창설된 기능이 넓은 범위의 전이된 대상 사이에서 사용될 경우 인터페이스를 사용합니다.추상 클래스는 주로 밀접한 관계를 가진 대상에 사용되고 인터페이스는 관련이 없는 클래스에 유니버설 기능을 제공하는 데 가장 적합하다.작고 세련된 기능 블록을 설계하려면 인터페이스를 사용해야 한다.큰 기능 단원을 설계하려면 추상류를 사용한다.구성 요소의 모든 실현 사이에서 통용되는 이미 이루어진 기능을 제공하려면 추상 클래스를 사용합니다.추상 클래스는 부분적인 실현 클래스를 허용하고 인터페이스는 그 어떠한 구성원의 실현도 포함하지 않는다.
문제9: 사용자 정의 컨트롤러와 일반 사용자 컨트롤러의 공통점과 차이점은?사용자 컨트롤 모델은 내부 응용 프로그램의 특정한 컨트롤을 만드는 데 적합하고 사용자 정의 컨트롤 모델은 통용되고 재배포 가능한 컨트롤을 만드는 데 더욱 적합하다.
 
문제10: 대상을 향한 개념, 주요 특징.
봉인(wrap), 계승(inheritance), 재부팅(override), 다중(polymorphism).

좋은 웹페이지 즐겨찾기