۱۳۸۷ مهر ۳, چهارشنبه

سازنده ها Constructors

وقتی شما یک نمونه جدید ( یک شی جدید) با استفاده از لغت کلیدی new ایجاد می کنید ، یک سازنده برای آن کلاس صدا زده می شود. سازنده ها جهت ایجاد متغیر عای نمونه ( فیلد ها) یک شی به کار میروند. سازنده ها شبیه متد ها هستند اما با آنها برخی تفاوت های مهم دارند.

*نام سازنده همان نام کلاس است. یک سازنده باید همان نام کلاسی را که در آن است را داشته باشد.
*سازنده های پیش فرض. اگر شما یک سازنده را برای یک کلاس تعریف نکنید یک سازنده پیش فرض توسط کامپایلر ساخته می شود. سازنده پیش فرض سازنده های parent را فرا می خواند(()super). و تمام متغییر های نمونه را مقدار دهی پیش فرض می کند( صفر برای انواع عددی ، تهیnull برای شیء و false برای مقادیر بولی booleans ) .
*سازنده های پیش فرض فقط زمانی خلق می شوند که هیچ سازنده ای موجود نداشته باشد. اگر شما یک سازنده برای کلاس تعریف کنید هیچ سازنده پیش فرضی به طور خودکار ایجاد نمی شود.
*تفاوت های بین متد ها و سازنده ها.
- در یک سازنده نوع بازگشتی وجود ندارد. مقدار خود شی است و نیازی به اختصاص مقدار بازگشتی ندارد.
- در بدنه سازنده هیچ جمله بازگشتی وجود ندارد.
-در خط اول یک سازنده باید یک صدا کننده برای سازنده دیگر در همان کلاس وجود داشته باشد( با استفاده از this )، یا یک صدا کننده بر سازنده ابر کلاس ( با استفاده از super ) . اگر خط اول هیچ کدام را نداشته باشد ، کامپایلر به طور خود کار یک سازنده ابر کلاس وارد می کند.
(ادامه دارد)



هیچ نظری موجود نیست: