कंस्ट्रक्टर ओवरलोडिंग: एक ही क्लास में एक ही नाम के एकाधिक कंस्ट्रक्टर्स, लेकिन **अलग पैरामीटर लिस्ट** (संख्या, टाइप, क्रम)।
उदाहरण
using System;
namespace Program
{
class Student
{
private double subjectOne;
private double subjectTwo;
string studentName;
// कंस्ट्रक्टर 1: डिफ़ॉल्ट
public Student()
{
this.SubjectOne = 80;
}
// कंस्ट्रक्टर 2: एक पैरामीटर
public Student(double subjectOne)
{
this.SubjectOne = subjectOne;
}
// कंस्ट्रक्टर 3: तीन पैरामीटर्स
public Student(string studentName, double subjectOne, double subjectTwo)
{
this.SubjectOne = subjectOne;
this.SubjectTwo = subjectTwo;
this.StudentName = studentName;
}
public double GetSubjectOneMarks() => this.SubjectOne;
public double GetSubjectTwoMarks() => this.SubjectTwo;
public string GetStudentName() => 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("पहला:");
Console.WriteLine("विषय 1 अंक: {0}", s1.GetSubjectOneMarks());
Console.WriteLine("\nदूसरा:");
Console.WriteLine("विषय 1 अंक: {0}", s2.GetSubjectOneMarks());
Console.WriteLine("\nतीसरा:");
Console.WriteLine("छात्र नाम: {0}", s3.GetStudentName());
Console.WriteLine("विषय 1 अंक: {0}", s3.GetSubjectOneMarks());
Console.WriteLine("विषय 2 अंक: {0}", s3.GetSubjectTwoMarks());
Console.ReadKey();
}
}
}
आउटपुट
पहला: विषय 1 अंक: 80 दूसरा: विषय 1 अंक: 90 तीसरा: छात्र नाम: Amit विषय 1 अंक: 88 विषय 2 अंक: 60
मुख्य बिंदु
- ओवरलोडिंग के लिए **पैरामीटर लिस्ट अलग** होनी चाहिए (संख्या/टाइप/क्रम)।
this()से दूसरे कंस्ट्रक्टर को कॉल करके कोड डुप्लीकेशन रोकें।public Student() : this(80) { }- डिफ़ॉल्ट मान सेट करता है।- ऑप्शनल पैरामीटर्स (
int x = 0) भी ओवरलोडिंग कम कर सकते हैं।