C\#에서 개인 구조 함수 의 특징 과 용도 인 스 턴 스 분석

1926 단어 C#사유구조 함수
본 고 는 사례 형식 으로 사유 구조 함수 의 특징 을 분석 하고 어떤 상황 에서 사유 구조 함 수 를 사용 하 는 지 분석 하고 자 한다.C\#의 개인 구조 함 수 를 잘 이해 하 는 데 도움 이 될 것 이 라 고 믿 습 니 다.구체 적 으로 다음 과 같다.
1.사유 구조 함 수 를 가 진 클래스 는 계승 할 수 없습니다.
Animal 클래스 에서 개인 구조 함 수 를 설명 하여 Dog 클래스 가 Animal 클래스 를 계승 하도록 합 니 다.

  public class Animal
  {
    private Animal()
    {
      Console.WriteLine("i am animal");
    }
  }
  public class Dog : Animal
  {
    
  }

프로그램 을 실행 하고 해결 방안 을 생 성 합 니 다.다음 그림 과 같이 오 류 를 보고 합 니 다.

2.사유 구조 함 수 를 가 진 종 류 는 예화 되 어 서 는 안 된다.
다음 테스트 코드 실행:

  class Program
  {
    static void Main(string[] args)
    {
      Animal animal = new Animal();
    }
  }
  public class Animal
  {
    private Animal()
    {
      Console.WriteLine("i am animal");
    }
  }

프로그램 이 실 행 된 후 해결 방안 을 생 성 합 니 다.다음 그림 과 같이 오 류 를 보고 합 니 다.

3.사유 구조 함수 의 응용
어떤 때 에 우 리 는 하나의 유형 이 너무 많이 예화 되 는 것 을 원 하지 않 는 다.예 를 들 어 전체 국면 과 관련 된 유형,경로 등 이다.이때 우 리 는 클래스 에 구조 함 수 를 설정 하고 정적 인 방법 을 제공 할 수 있다.

  class Program
  {
    static void Main(string[] args)
    {
      string str = Animal.GetMsg();
      Console.WriteLine(str);
      Console.ReadKey();
    }
  }
  public class Animal
  {
    private Animal()
    {
      Console.WriteLine("i am animal");
    }
    public static string GetMsg()
    {
      return "Hello World";
    }
  }

요약:하나의 클래스 가 사유 구조 함수 로 설정 되면 계승 되 지 못 하고 실례 화 되 지 못 한다.이런 상황 에서 클래스 에 정적 인 방법 을 제공 하여 호출 할 수 있다.

좋은 웹페이지 즐겨찾기