سازنده ها (Constructors)
در ++C، سازنده ها روش ویژه شروع کار شیء هستند. یعنی متدی که هنگام ساخت شیء، خودکار اجرا می شود. بنابراین مقداردهی اولیه راحت می شود و همه چیز آماده است. برای جزئیات بیشتر، صفحه سازنده ها را دنبال کن.
سازنده ها چیست؟
سازنده (Constructor) یک متد ویژه است. نامش مثل نام کلاس است. نوع بازگشت ندارد. هنگام ساخت شیء، خودکار اجرا می شود.
سازنده ساده داخل کلاس
نام سازنده باید دقیقاً نام کلاس باشد. سپس با ساخت شیء، پیام چاپ می شود.
class MyClass {
public:
MyClass() {
cout << "Hello World!";
}
};
int main() {
MyClass myObj;
return 0;
}
سازنده با پارامتر
می توانی مقدارهای اولیه را با پارامتر بدهی. این کار شیء را آماده می کند.
class Car {
public:
string brand;
string model;
int year;
Car(string x, string y, int z) {
brand = x;
model = y;
year = z;
}
};
int main() {
Car carObj1("BMW", "X5", 1999);
Car carObj2("Ford", "Mustang", 1969);
cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
return 0;
}
تعریف سازنده بیرون از کلاس
می توانی بدنه سازنده را بیرون بنویسی. از عملگر :: استفاده کن.
class Car {
public:
string brand;
string model;
int year;
Car(string x, string y, int z);
};
Car::Car(string x, string y, int z) {
brand = x;
model = y;
year = z;
}
int main() {
Car carObj1("BMW", "X5", 1999);
Car carObj2("Ford", "Mustang", 1969);
cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
return 0;
}
گام های عملی با سازنده ها
- نام کلاس را انتخاب کن.
- سازنده هم نام کلاس را بنویس.
- در سازنده مقدار اولیه تنظیم کن.
- شیء بساز و نتیجه را چاپ کن.
نکته: برای آشنایی با متدها، صفحه متدهای کلاس را ببین. همچنین برای شروع کار با کلاس، بخش کلاس ها/اشیاء مفید است.
جمع بندی سریع
- سازنده نامِ کلاس را تکرار می کند.
- هیچ نوع بازگشتی ندارد.
- هنگام ساخت شیء اجرا می شود.
- پارامتر می گیرد و مقدار می دهد.
- می توان بیرون کلاس تعریف کرد.