C# 中的建構函式過載


如果同一個類中定義了多個具有相同名稱的建構函式,並且每個建構函式的引數不同,則稱這些建構函式為過載。

讓我們看一個示例來了解如何在 C# 中使用建構函式過載。

在這個示例中,我們有兩個科目和針對學生姓名的一個字串宣告。

private double SubjectOne;
private double SubjectTwo;
string StudentName;

我們正在顯示三個學生在不同科目中的成績。對於我們的示例,為了演示建構函式過載,僅顯示第 3 個學生的姓名。

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

更新於:2020-06-23

2K+ 瀏覽

讓你的 職業成功

透過完成課程取得認證

開始學習
廣告