একই শ্রেণীতে একই নামের একাধিক কন্সট্রাকটর সংজ্ঞায়িত করা হলে, প্রতিটি কনস্ট্রাক্টরের জন্য পরামিতি ভিন্ন হলে তাদেরকে ওভারলোড বলা হয়।
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