PDA

نسخه کامل مشاهده نسخه کامل : توابع constructor و destructor



shahinfarasystem
06-10-2009, 10:47
سلام
توابع constructor و destructor چه توابعي هستند و هر كدام د ركجا كاربرد دارند؟
اگر لطف كنيد با مثال يه نمونه نشونم بديد ممنونتون مي شم؟

mamadfelfel1988
07-10-2009, 18:42
constructor در oop به عنوان سازنده استفاده ميشه
deconstructor هم براي زماني كه احتياج به اصلاح پيدا ميكنه

shahinfarasystem
07-10-2009, 19:33
constructor در oop به عنوان سازنده استفاده ميشه
deconstructor هم براي زماني كه احتياج به اصلاح پيدا ميكنه

ممكنه بيشتر توضيح بديد؟

_H2_
09-10-2009, 21:13
سلام
تابع constructor اولین تابع یک کلاس است که اجرا خواهد شد و خودکار در طی عملیات نمونه سازی ان کلاس که معمولاً در زبانهای مختلف با فرمان new انجام میشود فراخوانی میشود و درست بعد از پر کردن اشاره گر کلاس (this در خانواده C و Me در خانواده VB) میتوان کدهای مورد نیاز خودمان را اجرا کنیم.

تعریف یک تابع سازنده میتواند چیزی شبیه این باشد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

خلاصه:
این تابع اولین تابع است که در زمان ساخت کلاس فقط و فقط و اجباراً یکبار اجرا میشود.
در این تابع میتوانید اشیا و مقادیر مورد نیاز برای کلاس را مقدار دهی کنید.

=====

تابع destructor بر عکس مورد قبلی است و تابعی است که قبل از پاک سازی کلاس از حافظه اجرا میشود.
تابع destructor در زبانهای برنامه نویسی و محیط های مختلف آن قطعیت constructor را ندارد.
یعنی شاید چند بار اجرا شود و برخی محیطها امکان اندکی هم دارد اصلاً اجرا نشود !

تعریف یک تابع خاتمه یا نابود کننده، میتواند چیزی شبیه این باشد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



البته لازم به ذکر است که زبانهای تحت دات نت ...
- معمولاً نیازی به کدنویسی نابود کننده خود کلاسها به صورت فوق نیست و مسئولیت پاک سازی با سرویس CLR "جمع آوری کننده حافظه هرز" است.
- نابود کننده خاص قویتری با اصول شی گرایی وجود دارد که با پیاده سازی واسط IDisposable قابل تعریف است.

خلاصه:
این تابع در زمان پاک شدن و نابود شدن کلاس فراخوانی میشود و میتوان در صورت لزوم منابع استفاده شده را آزادسازی کرد.

موفق باشید.

shahinfarasystem
09-10-2009, 21:55
بازم معرفت شما h2 جان

ممنونتم.... عالي بود