C\#의 정적 구성원,정적 방법,정적 클래스 소개

1.정적 구성원,인 스 턴 스 구성원
1.1 정의 및 설명
데이터 멤버:
정적 구성원:정적 구성원 변 수 는 클래스 와 연 결 된 것 으로 클래스 의'공'변수(공 통 된 표현)로 사용 할 수 있 습 니 다.그 는 특정한 대상 의 존재 에 의존 하지 않 고 방문 할 때 클래스 이름 에 변 수 를 추가 하여 접근 할 수 있 습 니 다.
인 스 턴 스 구성원:인 스 턴 스 구성원 변 수 는 대상 과 관련 되 고 인 스 턴 스 구성원 변 수 는 인 스 턴 스 의 존재 에 의존 합 니 다.
함수 멤버:
정적 방법:정적 방법 은 특정한 대상 에 속 하지 않 는 방법 으로 정적 방법 은 정적 구성원 변수 와 정적 방법 에 접근 할 수 있다.정적 방법 은 인 스 턴 스 변수 와 인 스 턴 스 방법 에 직접 접근 할 수 없고 간접 적 으로 호출 할 수 있 습 니 다.먼저 하나의 인 스 턴 스 를 만 든 다음 에 이 특정한 대상 을 통 해 정적 방법 을 호출 해 야 합 니 다.
인 스 턴 스 방법:인 스 턴 스 방법의 실행 은 특정 대상 과 관련 되 고 그의 실행 은 대상 이 존재 해 야 합 니 다.인 스 턴 스 방법 은 정적 변수 와 인 스 턴 스 변 수 를 직접 방문 할 수 있 습 니 다.여러 인 스 턴 스 대상 이 존재 할 때 메모리 에 특정한 인 스 턴 스 방법 으로 복사 하 는 것 이 아니 라 같은 유형의 모든 대상 이 모든 인 스 턴 스 방법의 복사(인 스 턴 스 방법 은'한 세트'공간 만 차지 합 니 다)를 공유 합 니 다.
정적 방법 과 인 스 턴 스 방법의 접근 권한 표
정적 구성원 변수
정적 방법
인 스 턴 스 구성원 변수
실례 방법
정적 방법
직접 방문
직접 방문
직접 접근 불가
직접 접근 불가
실례 방법
직접 방문
직접 방문
직접 방문
직접 방문
한 마디 로 하면 인 스 턴 스 방법의 존 재 는 대상 인 스 턴 스 가 있어 야 합 니 다.대상 인 스 턴 스 가 존재 하지 않 으 면 인 스 턴 스 방법 도 주인 을 호출 하지 않 습 니 다.정적 방법의 존재 전 제 는 클래스 의 존재 이기 때문에 성명 과 New 대상 이 필요 없습니다.
1.2 코드 데모 

class Program
{

  static void Main(string[] args)
  {
    Class1.CallObjectFunc();//    

    Console.WriteLine(Environment.NewLine);

    Class1 tmpClass = new Class1();//    
    tmpClass.ObjectFunc();

    Console.ReadKey();
  }
}

class Class1
{
  static int Class_m = 9;//    
  private int object_m = 8;//    

  public static void CallObjectFunc()
  {
    Console.WriteLine("------------        :");

    Class1 class1 = new Class1();
    class1.ObjectFunc();
    Console.WriteLine("object_m:" + class1.object_m.ToString());

    Console.WriteLine("------------        :");
  }

  public void ObjectFunc()
  {
    Console.WriteLine("        :");

    Console.WriteLine("Class_m:" + Class_m.ToString());

    Console.WriteLine("        :");
  }
}
출력 결과:

2.정적 클래스
클래스 는 정적 구성원 만 포함 하도록 static 로 설명 할 수 있 습 니 다.new 키 워드 를 사용 하여 정적 클래스 의 인 스 턴 스 를 만 들 수 없습니다.예 를 들 어 인 스 턴 스 데 이 터 를 조작 하지 않 고 코드 의 특정 대상 과 연결 되 지 않 는 방법 을 만 드 는 것 은 흔 한 요구 이다.그 방법 을 포함 하기 위해 서 정적 클래스 를 사용 해 야 합 니 다.
정적 클래스 의 주요 기능 은 다음 과 같 습 니 다.
그것들 은 정적 구성원 만 포함한다.함수 구성원 과 변 수 는 모두 static 수식 이 있어 야 합 니 다.
그것들 은 실례 화 되 어 서 는 안 된다.
그것들 은 밀봉 한 것 이다.컴 파일 러 컴 파일 시 자동 으로 sealed 태그 생 성
그것들 은 실례 구조 함 수 를 포함 할 수 없다.
따라서 정적 클래스 를 만 드 는 것 은 정적 구성원 과 개인 구조 함수 만 포함 하 는 클래스 를 만 드 는 것 과 대체적으로 같 습 니 다.개인 구조 함수 가 클래스 가 예화 되 는 것 을 막 습 니 다.
정적 클래스 를 사용 하 는 장점 은 컴 파일 러 가 우연히 인 스 턴 스 구성원 을 추가 하지 않도록 검 사 를 수행 할 수 있다 는 것 이다.컴 파 일 러 는 이러한 실 리 를 만 들 지 않 을 것 을 보증 할 것 이다.
정적 류 는 밀봉 되 어 있 기 때문에 계승 할 수 없다.정적 클래스 는 구조 함 수 를 포함 할 수 없 지만 정적 구조 함 수 를 설명 하여 초기 값 을 분배 하거나 정적 상 태 를 설정 할 수 있 습 니 다.
정적 클래스:

static class CompanyInfo
{
  public static string GetCompanyName() { return "CompanyName"; }
  public static string GetCompanyAddress() { return "CompanyAddress"; }
}

좋은 웹페이지 즐겨찾기