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
廣告
資料結構
網路技術
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP