CoffeeScript-এ Private Variables এবং Methods ব্যবহারের জন্য JavaScript-এর ক্লাস সিনট্যাক্স অনুসরণ করা হয়। তবে CoffeeScript সিনট্যাক্সে কিছু সহজ এবং পাঠযোগ্য পদ্ধতি রয়েছে যা এই কাজটি আরও কার্যকরী এবং পরিষ্কার করে তোলে। এখানে CoffeeScript-এ প্রাইভেট ভেরিয়েবল এবং মেথড তৈরি এবং ব্যবহারের পদ্ধতি ব্যাখ্যা করা হয়েছে।
প্রাইভেট ভেরিয়েবল এবং মেথড কী?
Private Variables এবং Private Methods ক্লাসের বাইরের জায়গা থেকে অ্যাক্সেসযোগ্য নয়। অর্থাৎ, এগুলি শুধু ক্লাসের ভিতরে ব্যবহার করা যায়, বাইরে থেকে এগুলিতে প্রবেশ করা সম্ভব নয়। JavaScript-এ সাধারণত প্রাইভেট ভেরিয়েবলগুলি # চিহ্ন ব্যবহার করে চিহ্নিত করা হয় (এটি ES2022-এর পরে JavaScript-এ অন্তর্ভুক্ত হয়েছে)। CoffeeScript-এও একই পদ্ধতি ব্যবহার করা হয়।
CoffeeScript-এ Private Variables এবং Methods তৈরি করা
১. Private Variables
CoffeeScript-এ @ ব্যবহার করে প্রাইভেট ভেরিয়েবল তৈরি করা হয়, তবে প্রাইভেট ভেরিয়েবল ব্যবহারের জন্য CoffeeScript-এ JavaScript-এর মতো সরাসরি কোনো প্রকৃত সিনট্যাক্স নেই। CoffeeScript ক্লাসের মধ্যে একটি বিশেষ কৌশল ব্যবহার করে প্রাইভেট ভেরিয়েবল তৈরি করতে সহায়ক একটি পদ্ধতি প্রদান করে।
উদাহরণ: Private Variables
class Person
constructor: (name, age) ->
@name = name
@age = age
@#secret = "This is a secret" # Private variable using #
getName: -> @name
getAge: -> @age
# method to access private variable
getSecret: -> @#secret
এখানে, @#secret হল একটি প্রাইভেট ভেরিয়েবল যেটি getSecret মেথডের মাধ্যমে অ্যাক্সেস করা যেতে পারে।
২. Private Methods
Private Methods তৈরি করার জন্য CoffeeScript ক্লাসের মধ্যে সাধারণত # চিহ্ন ব্যবহার করে মেথড ডিক্লার করা হয়। এটি ক্লাসের বাইরের অ্যাক্সেসের জন্য উপলব্ধ থাকে না।
উদাহরণ: Private Methods
class Person
constructor: (name, age) ->
@name = name
@age = age
# Private method
#privateMethod: -> console.log "This is a private method."
publicMethod: ->
@#privateMethod() # Calling private method inside the class
console.log "This is a public method."
এখানে, #privateMethod একটি প্রাইভেট মেথড, যা শুধুমাত্র ক্লাসের ভিতর থেকে কল করা যায়। বাইরের কোড থেকে সরাসরি এক্সেস করা সম্ভব নয়।
CoffeeScript-এ প্রাইভেট ভেরিয়েবল এবং মেথড ব্যবহার
class Person
constructor: (name, age) ->
@name = name
@age = age
@#secret = "This is a private secret" # Private variable
getName: -> @name
getAge: -> @age
# Private method
#privateMethod: -> console.log "This is a private method."
publicMethod: ->
@#privateMethod() # Calling private method inside the class
console.log "This is a public method. Name: #{@name}, Age: #{@age}"
console.log "Secret: #{@#secret}"
# Example usage
person = new Person("Alice", 25)
console.log person.getName() # Alice
console.log person.getAge() # 25
person.publicMethod() # This is a public method. Name: Alice, Age: 25, Secret: This is a private secret
JavaScript-এ কম্পাইল হওয়া কোড:
var Person;
Person = class Person {
constructor(name, age) {
this.name = name;
this.age = age;
this.#secret = "This is a private secret";
}
getName() {
return this.name;
}
getAge() {
return this.age;
}
#privateMethod() {
return console.log("This is a private method.");
}
publicMethod() {
this.#privateMethod();
console.log("This is a public method. Name: " + this.name + ", Age: " + this.age);
console.log("Secret: " + this.#secret);
}
};
প্রাইভেট ভেরিয়েবল এবং মেথডের সুবিধা
- Encapsulation: প্রাইভেট ভেরিয়েবল এবং মেথড ব্যবহার করে আপনি ডেটাকে ইনক্যাপসুলেট করতে পারেন, অর্থাৎ ক্লাসের বাইরের কোড এই ভেরিয়েবল এবং মেথডে সরাসরি অ্যাক্সেস করতে পারবে না।
- কোড নিরাপত্তা: প্রাইভেট ভেরিয়েবল এবং মেথড ক্লাসের অব্যবহৃত অংশকে গোপন রাখে, যা কোডের নিরাপত্তা বাড়ায়।
- কোড রক্ষণাবেক্ষণ: প্রাইভেট ভেরিয়েবলগুলি শুধুমাত্র ক্লাসের ভিতরে পরিবর্তন করা যেতে পারে, যা কোডের স্থিতিশীলতা এবং রক্ষণাবেক্ষণ সহজ করে তোলে।
সারাংশ
CoffeeScript-এ প্রাইভেট ভেরিয়েবল এবং মেথড ব্যবহার করা JavaScript-এর ক্লাসের মতোই, তবে CoffeeScript সিনট্যাক্সের মাধ্যমে কোড লেখার প্রক্রিয়া অনেক সহজ এবং সংক্ষিপ্ত হয়। প্রাইভেট ভেরিয়েবল এবং মেথড ক্লাসের বাইরের কোড থেকে সুরক্ষিত থাকে এবং এটি কোডের নিরাপত্তা এবং ইনক্যাপসুলেশন নিশ্চিত করে।
Read more