Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#의 생성자 오버로딩

<시간/>

같은 클래스에 같은 이름의 생성자가 두 개 이상 정의되어 있는 경우 생성자마다 매개변수가 다르면 오버로드라고 합니다.

C#에서 생성자 오버로딩을 사용하는 방법을 배우기 위한 예를 살펴보겠습니다.

이 예에는 두 개의 주제와 학생 이름에 대한 문자열 선언이 있습니다.

private double SubjectOne;
private double SubjectTwo;
string StudentName;

우리는 다른 과목에서 세 학생의 결과를 보여주고 있습니다. 이 예에서 생성자 오버로딩을 표시하기 위해 이름은 학생 3 rd 에만 표시됩니다. .

Student s1 = new Student();
Student s2 = new Student(90);
Student s3 = new Student("Amit",88, 60);

다음 코드를 실행하여 C#에서 생성자 오버로딩을 구현할 수 있습니다.

예시

using System;
namespace Program {
   class Student {
      private double SubjectOne;
      private double SubjectTwo;
      string StudentName;
      public Student() {
         this.SubjectOne = 80;
      }
      public Student(double SubjectOne) {
         this.SubjectOne = SubjectOne;
      }
      public Student(string StudentName, double SubjectOne, double SubjectTwo) {
         this.SubjectOne = SubjectOne;
         this.SubjectTwo = SubjectTwo;
         this.StudentName = StudentName;
      }
      public double GetSubjectOneMarks() {
         return this.SubjectOne;
      }
      public double GetSubjectTwoMarks() {
         return this.SubjectTwo;
      }
      public string GetStudentName() {
         return this.StudentName;
      }
   }
   class Program {
      static void Main(string[] args) {
         Student s1 = new Student();
         Student s2 = new Student(90);
         Student s3 = new Student("Amit",88, 60);
         Console.WriteLine("One");
         Console.WriteLine("Subject One Marks: {0}", s1.GetSubjectOneMarks());
         Console.WriteLine();
         Console.WriteLine("Second");
         Console.WriteLine("Subject One Marks: {0}", s2.GetSubjectOneMarks());
         Console.WriteLine();
         Console.WriteLine("Third");
         Console.WriteLine("Student name: {0}", s3.GetStudentName());
         Console.WriteLine("Subject One Marks: {0}", s3.GetSubjectOneMarks());
         Console.WriteLine("Subject Two Marks: {0}", s3.GetSubjectTwoMarks());
         Console.ReadKey();
      }
   }
}

출력

One
Subject One Marks: 80

Second
Subject One Marks: 90

Third
Student name: Amit
Subject One Marks: 88
Subject Two Marks: 60