জাভাস্ক্রিপ্টে OOP-এ ইনহেরিটেন্সের সময় প্রাইভেট মেথড
প্রাইভেট মেথডগুলি ইনহেরিট হয় না। এটি ইচ্ছাকৃতভাবে করা হয়েছে যেন এনক্যাপসুলেশন লঙ্ঘন না হয়। আসুন একটি উদাহরণ দিয়ে দেখি। ধরুন আমাদের নিম্নলিখিত প্যারেন্ট ক্লাস আছে একটি প্রাইভেট মেথড সহ:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.#capeFirst(this.name);
}
#capeFirst(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
ধরুন প্যারেন্ট ক্লাস থেকে নিম্নলিখিত ক্লাসটি ইনহেরিট করছে:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.surn;
}
}
ধরুন চাইল্ড ক্লাসটি ব্যবহার করতে চায় প্যারেন্টের প্রাইভেট মেথড। জাভাস্ক্রিপ্ট এটি অনুমতি দেবে না এবং একটি ত্রুটি দেবে:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.#capeFirst(this.surn); // একটি ত্রুটি হবে
}
}
Employee ক্লাসে প্যারেন্টের প্রাইভেট মেথডটি
ব্যবহার করার চেষ্টা করুন।