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";
}
}
요약:하나의 클래스 가 사유 구조 함수 로 설정 되면 계승 되 지 못 하고 실례 화 되 지 못 한다.이런 상황 에서 클래스 에 정적 인 방법 을 제공 하여 호출 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.