জাভাস্ক্রিপ্টে ওওপি-তে ইনহেরিটেন্সের সময় কনস্ট্রাক্টর
ইনহেরিটেন্সের সময় প্যারেন্ট কনস্ট্রাক্টর ওভাররাইড করা যায়। আসুন একটি উদাহরণ দেখি। আমাদের কাছে নিম্নলিখিত প্যারেন্ট ক্লাস আছে ধরা যাক:
javascriptclass User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
getName() {
return this.name;
}
getSurn() {
return this.surn;
}
}
ধরা যাক প্যারেন্ট ক্লাস থেকে নিম্নলিখিত ক্লাস ইনহেরিট করছে:
javascriptclass Student extends User {
}
ধরা যাক আমরা চাইল্ড ক্লাসে কনস্ট্রাক্টরটি এক্সটেন্ড করতে চাই, এতে অতিরিক্ত প্যারামিটার যোগ করে:
javascriptclass Student extends User {
constructor(name, surn, year) {
}
}
এই ক্ষেত্রে আমাদের অবশ্যই
প্রথম লাইনেই super এর মাধ্যমে
প্যারেন্ট কনস্ট্রাক্টর কল করতে হবে:
javascriptclass Student extends User {
constructor(name, surn, year) {
super();
}
}
super কমান্ড মূলত
প্যারেন্ট কনস্ট্রাক্টর। তাই
এটিতে প্রয়োজনীয় প্যারামিটার পাস করি:
javascriptclass Student extends User {
constructor(name, surn, year) {
super(name, surn);
}
}
এখন চাইল্ডে শিক্ষাবর্ষ চাইল্ডের নিজস্ব প্রপার্টিতে লিখি:
javascriptclass Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
শিক্ষাবর্ষের জন্য একটি গেটার তৈরি করি:
javascriptclass Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
getYear() {
return this.year;
}
}
ধরা যাক Employee ক্লাসটি
এই পাঠের User ক্লাস থেকে
ইনহেরিট করে।
Employee ক্লাসে
প্যারেন্ট কনস্ট্রাক্টর ওভাররাইড করুন, এতে
বয়স এবং বেতনের সাথে একটি প্যারামিটার যোগ করুন।
বয়স এবং বেতনের জন্য গেটার তৈরি করুন।