سازنده Constructor

سازنده یا Constructor چیست؟

سازنده (Constructor) در برنامه نویسی شئ گرا، به زیرروالی در یک کلاس گفته می شود که برای ایجاد یک شئ فراخوانی می‌شود. از این زیرروال برای آماده سازی اولیه‌ی شئ استفاده می‌شود.

معمولا در سازنده، متغیرهای عضو کلاس نیز مقداردهی می‌شوند. برای این منظور، مقادیر مورد نظر یا از طریق پارامتر دریافت می‌شود و یا مقادیر پیش فرضی به متغیرهای عضو اختصاص داده می‌شود. البته در اکثر زبان‌ها امکان سربارگذاری این زیرروال نیز وجود دارد. در اغلب زبان‌های برنامه نویسی، سازنده هم نام با کلاس است البته در برخی زبان‌ها از عناوین خاصی برای این زیرروال استفاده می‌شود. برای مثال، در ویژوال بیسیک، زیرروال سازنده با نام ثابت New تعریف می‌شود.

هم‌چنین در بسیاری از زبان‌ها، اگر برنامه نویس، یک زیرروال سازنده برای کلاس خود ایجاد نکند از سازنده‌ی پیش فرض (Default Constructor) به این منظور استفاده می‌شود که بسته به زبان برنامه نویسی مورد استفاده، معمولا متغیرهای عضو کلاس را به صفر (یا مقدار پیش فرضی دیگر) و یا Null مقداردهی می‌کند.

در مثال زیر نحوه‌ی ایجاد سازنده‌ها در زبان C++ را مشاهده می‌کنید. متغیرهای عضو xpos و ypox در تابع سازنده به مقادیر دریافتی از طریق پارامترهای a و b مقداردهی می‌شوند. تابع add نیز مقادیر این دو متغیر را با هم جمع می‌زند. در تابع main یک شئ به نام pointobj ساخته می‌شود و با توجه به اینکه سازنده‌ی کلاس دو پارامتر صحیح می‌گیرد مقادیر این دو پارامتر نیز هنگام ایجاد شئ تعیین شده است. سپس با استفاده از تابع add مقدار 3 (مجموع دو متغیر xpos و ypos) در خروجی نشان داده می‌شود.

#include <iostream>
using namespace std;

class MyPointClass{
    int xpos, ypos;
  public:
    MyPointClass(int,int);
    int add () {return (xpos + ypos);}
};

MyPointClass::MyPointClass(int a, int b) {
  xpos = a;
  ypos = b;
};

int main () {
 MyPointClass pointobj (1,2);
 cout << pointobj.add();
 return 0;
}

لازم به ذکر است در برخی زبان‌ها نیز زیرروالی به نام نابودکننده (Destructor) قابل تعریف است که هنگام نابود شدن شئ فراخوانی می‌شود.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

واژه‌های مرتبط

حافظه نهان Cache حافظه نهان یا Cache چیست؟ حافظه نهان یا کش (Cache) به حافظه‌ای گفته می‌شود که داده‌هایی را برای سرویس‌دهی سریع‌تر به درخواست‌های آینده در خود نگه‌دار...
کاراکتر Character کاراکتر یا Character چیست؟ کاراکتر (Character) در علوم رایانه به واحدی از اطلاعات گفته می‌شود که متناظر با یکی از عناصر موجود در سیستم‌های نوشتاری نظ...
نرخ کلیک Click-through rate – CTR نرخ کلیک یا Click-through rate - CTR چیست؟ نرخ کلیک (Click-through rate) یا به اختصار CTR عبارتست از نرخ تعداد کاربرانی که روی لینکی در یک صفحه‌ی وب،...
دستور شرطی Conditional Statement دستور شرطی یا Conditional Statement چیست؟ دستور شرطی (Conditional Statement) در زبان‌های برنامه‌نویسی به دستوراتی گفته می‌شود که امکان انجام اعمال، م...
کپچا CAPTCHA کپچا یا CAPTCHA چیست؟ کپچا یا CAPTCHA آزمونی است که برای تشخیص انسان یا ماشین بودن کاربر به کار می‌رود. این واژه از عبارت "Completely Automated Publi...
طراحی با کمک رایانه Computer-aided design – ... طراحی با کمک رایانه یا Computer-aided design - CAD چیست؟ طراحی با کمک رایانه (به اختصار CAD) به فرایندی گفته می‌شود که در آن افرادی نظیر مهندسین، طرا...

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *