ES6 (ECMAScript 2015) এ Class Syntax যোগ করার মাধ্যমে Object-Oriented Programming (OOP) আরও সহজ এবং পরিষ্কার হয়ে ওঠে। Class একটি ব্লুপ্রিন্ট বা টেমপ্লেট হিসেবে কাজ করে, যা ব্যবহারকারীর জন্য অবজেক্ট তৈরি করার জন্য নিয়ম এবং বৈশিষ্ট্য সংজ্ঞায়িত করে।
Class Syntax এর মৌলিক কাঠামো
Class এর সঠিক সঠিক সিনট্যাক্স এরকম:
class ClassName {
constructor() {
// Constructor body
}
}
Constructor
Constructor হল একটি বিশেষ ধরনের মেথড যা ক্লাসের নতুন ইনস্ট্যান্স (অবজেক্ট) তৈরি করার সময় স্বয়ংক্রিয়ভাবে কল হয়। এটি সাধারণত অবজেক্টের প্রাথমিক ভ্যালু বা অবস্থান সেট করার জন্য ব্যবহৃত হয়। constructor মেথডটি একটি ক্লাসের একমাত্র বিশেষ মেথড, এবং এটি প্যারামিটার গ্রহণ করতে পারে যা ক্লাসের ইনস্ট্যান্স তৈরি করার সময় দেয়া হয়।
Class এবং Constructor এর উদাহরণ
1. একটি সিম্পল ক্লাস তৈরি করা
class Person {
constructor(name, age) {
this.name = name; // Assigning value to property 'name'
this.age = age; // Assigning value to property 'age'
}
greet() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}
const person1 = new Person("John", 30); // Creating an instance of Person class
person1.greet(); // "Hello, my name is John and I am 30 years old."
এখানে, Person নামক ক্লাসটি একটি constructor মেথড ব্যবহার করে দুটি প্রোপার্টি name এবং age সেট করে। greet মেথডটি সেই প্রোপার্টি ব্যবহার করে একটি শুভেচ্ছা বার্তা প্রদর্শন করে।
2. Constructor এর মাধ্যমে প্রোপার্টি অ্যাসাইন করা
class Car {
constructor(make, model, year) {
this.make = make; // Car make (e.g., Toyota)
this.model = model; // Car model (e.g., Corolla)
this.year = year; // Manufacturing year (e.g., 2020)
}
displayInfo() {
console.log(`${this.year} ${this.make} ${this.model}`);
}
}
const car1 = new Car("Toyota", "Corolla", 2020);
car1.displayInfo(); // "2020 Toyota Corolla"
এখানে, Car ক্লাসের constructor মেথডটি গাড়ির make, model, এবং year প্রপার্টি ইনিশিয়ালাইজ করছে। নতুন অবজেক্ট car1 তৈরি করে displayInfo() মেথড কল করা হচ্ছে।
3. ক্লাসের প্রোপার্টি এবং মেথড
class Animal {
constructor(name, type) {
this.name = name;
this.type = type;
}
speak() {
console.log(`${this.name} makes a sound.`);
}
}
const dog = new Animal("Dog", "Mammal");
dog.speak(); // "Dog makes a sound."
এখানে, Animal ক্লাসের speak মেথডটি কোনও নির্দিষ্ট ধরণের প্রাণীকে কল করলে সেই প্রাণী শব্দ করবে বলে প্রস্তাব করছে।
ক্লাসের উন্নত ব্যবহার: Inheritance
ES6 ক্লাসে Inheritance (উত্তরাধিকার) সুবিধা রয়েছে, যার মাধ্যমে একটি ক্লাস অন্য ক্লাস থেকে বৈশিষ্ট্য ও মেথড উত্তরাধিকারসূত্রে গ্রহণ করতে পারে।
উদাহরণ: Inheritance ব্যবহার
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} makes a sound.`);
}
}
class Dog extends Animal { // Dog class extends Animal class
constructor(name, breed) {
super(name); // Call the parent class's constructor
this.breed = breed; // New property specific to Dog
}
speak() {
console.log(`${this.name} barks.`);
}
}
const myDog = new Dog("Buddy", "Golden Retriever");
myDog.speak(); // "Buddy barks."
এখানে, Dog ক্লাস Animal ক্লাসকে extends করে। super() মেথড ব্যবহার করে আমরা প্যারেন্ট ক্লাসের constructor কল করেছি এবং তারপরে নতুন প্রপার্টি breed যোগ করেছি। speak() মেথডটি ওভাররাইড করা হয়েছে যাতে এটি নির্দিষ্টভাবে কুকুরের জন্য “barks” মেসেজ দেয়।
সারাংশ
Class Syntax ES6 এর মাধ্যমে ক্লাস ভিত্তিক প্রোগ্রামিং আরও সহজ এবং পরিচিত হয়ে ওঠে। Constructor মেথডের সাহায্যে ইনস্ট্যান্স তৈরি করার সময় প্রোপার্টি অ্যাসাইন করা হয়। একাধিক ক্লাস, ইনহেরিটেন্স, এবং মেথড ব্যবহার করে বড়ো অ্যাপ্লিকেশন তৈরি করা সহজ হয়।
Read more