JavaScript Class Inheritance – বাংলা টিউটোরিয়াল
Class Inheritance বা ওয়ারিসত্ব হলো অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যেখানে একটি ক্লাসের বৈশিষ্ট্য (প্রোপার্টি ও মেথড) অন্য ক্লাস গ্রহণ করতে পারে।
JavaScript ES6 থেকে ক্লাসের মাধ্যমে ইনহেরিটেন্স সহজ হয়েছে।
১. ইনহেরিটেন্স কেন প্রয়োজন?
যখন বিভিন্ন ক্লাসে একই কোড বা বৈশিষ্ট্য থাকে, তখন ইনহেরিটেন্সের মাধ্যমে কোড পুনঃব্যবহার এবং রক্ষণাবেক্ষণ সহজ হয়।
২. সিনট্যাক্স ও বেসিক উদাহরণ
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
return `হ্যালো, আমি ${this.name} এবং আমার বয়স ${this.age}`;
}
}
class Student extends Person {
constructor(name, age, studentId) {
super(name, age); // প্যারেন্ট ক্লাসের কনস্ট্রাক্টর কল করা হলো
this.studentId = studentId;
}
studentInfo() {
return `${this.greet()}। আমার স্টুডেন্ট আইডি: ${this.studentId}`;
}
}
const student1 = new Student("আলী", ২০, "ST1234");
console.log(student1.studentInfo());
// আউটপুট: হ্যালো, আমি আলী এবং আমার বয়স ২০। আমার স্টুডেন্ট আইডি: ST1234
৩. Important Points
extendsকীওয়ার্ড দিয়ে ইনহেরিটেন্স প্রকাশ করা হয়।super()দিয়ে প্যারেন্ট ক্লাসের কনস্ট্রাক্টর বা মেথড কল করা হয়।- চাইল্ড ক্লাস প্যারেন্টের প্রোপার্টি ও মেথড ব্যবহার করতে পারে।
৪. আরও একটি উদাহরণ – মেথড ওভাররাইডিং
class Animal {
speak() {
return "আমি একটি প্রাণী";
}
}
class Dog extends Animal {
speak() {
return "আমি একটি কুকুর";
}
}
const dog1 = new Dog();
console.log(dog1.speak()); // আউটপুট: আমি একটি কুকুর
এখানে Dog ক্লাস প্যারেন্ট Animal ক্লাসের speak() মেথড ওভাররাইড করেছে।