জাভাস্ক্রিপ্টে OOP-তে প্যারেন্ট মেথড ওভাররাইডিং
একটি চাইল্ড ক্লাস একই নামের একটি মেথড তৈরি করে প্যারেন্টের মেথড ওভাররাইড করতে পারে। আসুন একটি উদাহরণ দেখি। ধরা যাক আমাদের নিম্নলিখিত প্যারেন্ট ক্লাস আছে:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.name;
}
}
আসুন চাইল্ড ক্লাসে একই নামের একটি মেথড তৈরি করি:
class Student extends User {
setName(name) {
}
}
সাধারণত, প্যারেন্ট মেথড ওভাররাইড করা প্রয়োজন যে মেথডের আচরণ পরিবর্তন বা সম্পূরক করার জন্য। আসুন আমাদের ক্ষেত্রে নামের দৈর্ঘ্য যাচাই যোগ করি:
class Student extends User {
setName(name) {
if (name.length > 0) {
this.name = name;
} else {
throw new Error('student name error');
}
}
}
আসুন নিশ্চিত করি যে সঠিকভাবে ওভাররাইড করা মেথড কল হয়। প্রথমে চাইল্ড ক্লাসের একটি অবজেক্ট তৈরি করি:
let student = new Student;
এখন আমাদের মেথড কল করি, এতে একটি সঠিক মান পাস করে:
student.setName('john');
এবার মেথড কল করি, এতে একটি ভুল মান পাস করে। ফলস্বরূপ আমরা কনসোলে একটি ত্রুটি দেখতে পাব:
student.setName(''); // ভুল
User ক্লাসে বয়সের গেটার এবং সেটার তৈরি করুন।
Employee ক্লাসে বয়সের সেটার ওভাররাইড করুন এবং এতে
যাচাই যোগ করুন যে বয়স 18 থেকে 65 বছরের মধ্যে।