জাভাস্ক্রিপ্টে OOP-তে প্যারেন্ট মেথড ওভাররাইডিং

একটি চাইল্ড ক্লাস একই নামের একটি মেথড তৈরি করে প্যারেন্টের মেথড ওভাররাইড করতে পারে। আসুন একটি উদাহরণ দেখি। ধরা যাক আমাদের নিম্নলিখিত প্যারেন্ট ক্লাস আছে:

javascriptclass User {
  setName(name) {
    this.name = name;
  }
  getName() {
    return this.name;
  }
}

আসুন চাইল্ড ক্লাসে একই নামের একটি মেথড তৈরি করি:

javascriptclass Student extends User {
  setName(name) {
    
  }
}

সাধারণত, প্যারেন্ট মেথড ওভাররাইড করা প্রয়োজন যে মেথডের আচরণ পরিবর্তন বা সম্পূরক করার জন্য। আসুন আমাদের ক্ষেত্রে নামের দৈর্ঘ্য যাচাই যোগ করি:

javascriptclass Student extends User {
  setName(name) {
    if (name.length > 0) {
      this.name = name;
    } else {
      throw new Error('student name error');
    }
  }
}

আসুন নিশ্চিত করি যে সঠিকভাবে ওভাররাইড করা মেথড কল হয়। প্রথমে চাইল্ড ক্লাসের একটি অবজেক্ট তৈরি করি:

javascriptlet student = new Student;

এখন আমাদের মেথড কল করি, এতে একটি সঠিক মান পাস করে:

javascriptstudent.setName('john');

এবার মেথড কল করি, এতে একটি ভুল মান পাস করে। ফলস্বরূপ আমরা কনসোলে একটি ত্রুটি দেখতে পাব:

javascriptstudent.setName(''); // ভুল
Задание 1

User ক্লাসে বয়সের গেটার এবং সেটার তৈরি করুন।

Задание 2

Employee ক্লাসে বয়সের সেটার ওভাররাইড করুন এবং এতে যাচাই যোগ করুন যে বয়স 18 থেকে 65 বছরের মধ্যে।