JavaScript-এ OOP-তে সুরক্ষিত পদ্ধতি
ব্যক্তিগত পদ্ধতি উত্তরাধিকার সূত্রে প্রাপ্ত নয় এবং ক্লাসের বাইরে দৃশ্যমান নয়। তবে, মাঝে মাঝে এমন পদ্ধতির প্রয়োজন হয়, যেগুলো উত্তরাধিকার সূত্রে প্রাপ্ত হয়, কিন্তু ক্লাসের বাইরে দৃশ্যমান নয় এই ধরনের পদ্ধতিগুলিকে বলা হয় সুরক্ষিত (protected)। দুর্ভাগ্যবশত, JavaScript এই ধরনের পদ্ধতি সমর্থন করে না।
সেজন্য আমি একটি চুক্তি প্রবর্তন করার প্রস্তাব করছি, যা এই ধরনের পদ্ধতি তৈরি করতে দেয়। আমরা এই ধরনের পদ্ধতিগুলোর নাম আন্ডারস্কোর দিয়ে শুরু করব। মূলত আমরা ব্যক্তিগত পদ্ধতির পুরানো সাধারণ চুক্তি ব্যবহার করব। শুধুমাত্র এই পদ্ধতিগুলোকে সুরক্ষিত নামে ডাকব এই কারণে যে সেগুলো উত্তরাধিকার সূত্রে প্রাপ্ত হয়, কিন্তু আমরা সেগুলো ব্যবহার করব না বাইরে থেকে। যদিও, ঠিক এইভাবেই সেগুলো প্রাচীন চুক্তি অনুযায়ী ব্যবহার করা হয়।
তো, আসুন একটি প্যারেন্ট ক্লাস লিখি একটি সুরক্ষিত পদ্ধতি সহ:
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._capeFirst(this.surn);
}
}
নিম্নলিখিত কোডে হেল্পার পদ্ধতিটিকে সুরক্ষিত করুন:
class User {
setName(name) {
if (this._notEmpty(name)) {
this.name = name;
}
}
getName() {
return this.name;
}
_notEmpty(str) {
return str.length > 0;
}
}
class Employee extends User {
setSurn(surn) {
if (this._notEmpty(surn)) {
this.surn = surn;
}
}
getSurn() {
return this.surn;
}
}