C\#난점 하나씩 격파(5):클래스 접근 유형

이 네 가지 유형 간 의 차 이 를 말 할 때 하나의 개념 인 프로그램 집합 을 설명 할 필요 가 있다.프로그램 집합(Assembly)은 컴 파일 후 생 성 된.dll 또는.exe 파일 로 간단하게 이해 할 수 있 습 니 다.namespace 는 라 이브 러 리 의 논리 적 조직 형식 에 비해 프로그램 라 이브 러 리 의 물리 적 조직 형식 이 라 고 할 수 있 습 니 다.msdn 에 서 는"프로그램 집합 은 자신의 내부 버 전 번호 와 그들 이 포함 하 는 모든 데이터 와 대상 유형 에 대한 상세 한 정 보 를 설명 하 는 메타 데 이 터 를 포함 합 니 다"라 고 설명 합 니 다.일반적인 상황 은 하나의 프로그램 집합 이 하나 이상 의 네 임 스페이스 를 포함 할 수 있다 는 것 이다.Public:다른 모든 방법 을 볼 수 있 습 니 다.Private:이 클래스 에서 정 의 된 구성원 은 이 클래스 의 방법 만 접근 할 수 있 습 니 다.Protected:본 류 의 구성원 은 본 류 의 방법 과 본 류 를 계승 하 는 방법 만 방문 할 수 있 습 니 다.internal:본 클래스 의 구성원 은 본 클래스 가 있 는 프로그램 이 집 중 된 모든 종류의 방법 으로 만 접근 할 수 있 습 니 다.protected internal:protected 와 internal 의 통합 을 위 한 것 입 니 다.따라서 접근 단계 가 높 은 것 부터 낮은 것 까지 는 Public>proctected internal>internal>proctected>Private 류 의 기본 수정자 가 internal 이 어야 합 니 다.클래스 의 구성원 변 수 는 기본 수정자 가 private 이 고 namespace 는 수정자 가 Public 라 고 볼 수 있 습 니 다.다른 하 나 는 msdn 에서 도 계승 류 의 방문 등급 이 계승 류 의 방문 등급 보다 크 면 안 된다 고 언급 했다.예 를 들 어 internal 류 는 private 류 를 계승 할 수 없다.

using System;

/******************************
* Chapter:C# ( )
* Author:
* Date:2010-1-15
* Blog:http://www.51obj.cn/
* Email:[email protected]
* Description:
* ***************************/
namespace TestMain
{
public class A
{
public void Alert()
{
}
}

internal class B:A
{
internal new void Alert()
{
Console.WriteLine("you");
}
}

class Program
{
static void Main()
{
B b=new B();
b.Alert();

}
}
}

좋은 웹페이지 즐겨찾기