জাভাস্ক্রিপ্টে OOP-এ প্রাইভেট প্রোপার্টি
অবজেক্টের প্রোপার্টি যা বাইরে থেকে পড়া এবং লেখা যায়, তাকে পাবলিক বলা হয়। প্রাইভেট প্রোপার্টিও রয়েছে, যেগুলো শুধুমাত্র ক্লাসের ভিতরে অ্যাক্সেস করা যাবে।
প্রাইভেট প্রোপার্টির নাম
# চিহ্ন দিয়ে শুরু করতে হবে।
তাছাড়া, এই ধরনের প্রোপার্টি অবশ্যই
ক্লাসের কোডের শুরুতে ডিক্লেয়ার করতে হবে।
চলুন এটি করা যাক:
class User {
#name;
}
এখন আমাদের প্রোপার্টিতে ডেটা লিখি। এটি, উদাহরণস্বরূপ, ক্লাসের কনস্ট্রাক্টরে করা যেতে পারে:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
এখন একটি মেথড বানানো যাক, যা আমাদের প্রোপার্টির মান রিটার্ন করবে:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
ক্লাসের একটি অবজেক্ট তৈরি করা যাক, নাম প্যারামিটার হিসেবে পাস করে ইউজারের:
let user = new User('john');
সরাসরি আমাদের প্রোপার্টিতে অ্যাক্সেস করার চেষ্টা ক্লাসের বাইরে ত্রুটির কারণ হবে:
console.log(user.#name); // ত্রুটি
আর আমাদের মেথড কল করলে এই প্রোপার্টিটি পড়া সম্ভব হবে:
console.log(user.show()); // 'john' দেখাবে
Employee ক্লাসে
তিনটি প্রাইভেট প্রোপার্টি বানান: নাম, বেতন
এবং বয়স।
কনস্ট্রাক্টরে প্যারামিটার হিসেবে এই প্রোপার্টিগুলোর মান পাস করুন।
একটি মেথড বানান, যা কর্মচারীর ডেটা দেখাবে।