জাভাস্ক্রিপ্টে OOP-এ প্রাইভেট প্রোপার্টি

অবজেক্টের প্রোপার্টি যা বাইরে থেকে পড়া এবং লেখা যায়, তাকে পাবলিক বলা হয়। প্রাইভেট প্রোপার্টিও রয়েছে, যেগুলো শুধুমাত্র ক্লাসের ভিতরে অ্যাক্সেস করা যাবে।

প্রাইভেট প্রোপার্টির নাম # চিহ্ন দিয়ে শুরু করতে হবে। তাছাড়া, এই ধরনের প্রোপার্টি অবশ্যই ক্লাসের কোডের শুরুতে ডিক্লেয়ার করতে হবে। চলুন এটি করা যাক:

javascriptclass User {
  #name;
}

এখন আমাদের প্রোপার্টিতে ডেটা লিখি। এটি, উদাহরণস্বরূপ, ক্লাসের কনস্ট্রাক্টরে করা যেতে পারে:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
}

এখন একটি মেথড বানানো যাক, যা আমাদের প্রোপার্টির মান রিটার্ন করবে:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
}

ক্লাসের একটি অবজেক্ট তৈরি করা যাক, নাম প্যারামিটার হিসেবে পাস করে ইউজারের:

javascriptlet user = new User('john');

সরাসরি আমাদের প্রোপার্টিতে অ্যাক্সেস করার চেষ্টা ক্লাসের বাইরে ত্রুটির কারণ হবে:

javascriptconsole.log(user.#name); // ত্রুটি

আর আমাদের মেথড কল করলে এই প্রোপার্টিটি পড়া সম্ভব হবে:

javascriptconsole.log(user.show()); // 'john' দেখাবে
Задание 1

Employee ক্লাসে তিনটি প্রাইভেট প্রোপার্টি বানান: নাম, বেতন এবং বয়স।

Задание 2

কনস্ট্রাক্টরে প্যারামিটার হিসেবে এই প্রোপার্টিগুলোর মান পাস করুন।

Задание 3

একটি মেথড বানান, যা কর্মচারীর ডেটা দেখাবে।