Dart প্রোগ্রামিং ভাষায় Class ডিক্লারেশন এবং Constructor হল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের (OOP) মূল উপাদান। নিচে এই দুটি ধারণার বিস্তারিত আলোচনা করা হলো।
1. Class ডিক্লারেশন
Class হল একটি ব্লুপ্রিন্ট বা টেমপ্লেট যা অবজেক্ট তৈরি করতে ব্যবহৃত হয়। ক্লাসে সাধারণত প্রপার্টি (attributes) এবং মেথড (methods) থাকে। ক্লাস ডিক্লারেশনটি class কিওয়ার্ড ব্যবহার করে করা হয়।
সিনট্যাক্স:
class ClassName {
// Properties
dataType propertyName;
// Method
void methodName() {
// method body
}
}
উদাহরণ:
class Car {
String brand; // Property
int year; // Property
// Constructor
Car(this.brand, this.year); // Constructor to initialize properties
// Method
void displayInfo() {
print("Brand: $brand, Year: $year");
}
}
2. Constructor
Constructor হল একটি বিশেষ ধরনের মেথড যা ক্লাসের অবজেক্ট তৈরি করার সময় স্বয়ংক্রিয়ভাবে কল হয়। এটি অবজেক্টের প্রপার্টিগুলি প্রাথমিকভাবে সেট করতে ব্যবহৃত হয়। Dart এ, কনস্ট্রাক্টর সাধারণত ক্লাসের নামের সাথে মিলে যায়।
সিনট্যাক্স:
ClassName(parameters) {
// Initialization code
}
বিভিন্ন ধরনের কনস্ট্রাক্টর:
Default Constructor: এটি কোন আর্গুমেন্ট গ্রহণ না করে। ক্লাসের প্যারামিটার সেট করতে ব্যবহার করা হয়।
class Person {
String name;
int age;
// Default constructor
Person() {
name = 'Unknown';
age = 0;
}
}Parameterized Constructor: এটি এক বা একাধিক আর্গুমেন্ট গ্রহণ করে।
class Person {
String name;
int age;
// Parameterized constructor
Person(this.name, this.age);
}Named Constructor: এটি নির্দিষ্ট নাম দিয়ে কনস্ট্রাক্টর তৈরি করতে পারে, যা ক্লাসের একাধিক কনস্ট্রাক্টর থাকতে পারে।
class Person {
String name;
int age;
// Named constructor
Person.named(this.name, this.age);
}উদাহরণ:
void main() {
// Using parameterized constructor
Car myCar = Car('Toyota', 2020);
myCar.displayInfo(); // Output: Brand: Toyota, Year: 2020
// Using default constructor
Person person = Person(); // Assuming default constructor initializes name and age
print("Name: ${person.name}, Age: ${person.age}"); // Output: Name: Unknown, Age: 0
}
Read more