💎 تفاوت Constructor و Static Factory Method
🔆 سازنده یا Constructor:
زمانی که یک شی (نمونه / آبجکت) از یک کلاس ایجاد میکنیم، برای مقدار دهی اولیه و استفاده از مشخصات شی، یک کنستراکتور هم ایجاد میکنیم. در این حالت میتوان یکسری مقدار دهی اولیه برای شی قرار داد:
- اسم سازنده باید هم نام با اسم کلاس باشد
- نوع بازگشتی نداشته باشد
- اگر برای کلاس سازنده ای تعریف نشده باشد، کمپایلر بصورت خودکار یک default constructor برای کلاس قرار خواهد داد.
- سازنده میتواند دارای سطوح دسترسی public, private, protected, default باشد. (اگر سازنده ای پرایوت تعریف شده باشد، خارج از خود کلاس قابل استفاده نخواهد بود.)
- سازنده میتواند بدون ورودی باشد. (default constructor)
- یک کلاس میتواند شامل چند سازنده با ورودی های مختلف باشد.
💡 در مقابل میتوانیم از Static Factory Method ها هم استفاده کنیم. اگر داخل کلاس متدی ایجاد کنیم که نوع بازگشتی یک شی از همین کلاس باشه، به این متد Static Factory Method گفته میشه.
🔆 در اینجا میتونید مزایای استفاده از Static Factory Methods رو مشاهده کنید:
✅ دارای اسم با معنی
✅ نوع بازگشتی دارند
✅ میتوان یک شی ( نمونه / ابجکت) بصورت کنترل شده از یک کلاس بوسیله این متد ها ایجاد کرد (برای مثال الگوی سینگلتون که در آینده با هم بررسی خواهیم کرد)
✅ از آنجا که Static Factory Methods دارای اسم با معنی میباشد، به خوانایی کد کمک میکند
🔰مثال:
#constructor #static #static_factory_method #static_method
@pieceJava
🔆 سازنده یا Constructor:
زمانی که یک شی (نمونه / آبجکت) از یک کلاس ایجاد میکنیم، برای مقدار دهی اولیه و استفاده از مشخصات شی، یک کنستراکتور هم ایجاد میکنیم. در این حالت میتوان یکسری مقدار دهی اولیه برای شی قرار داد:
MyClass class = new Class();🔆 مشخصات و ویژگی های سازنده:
- اسم سازنده باید هم نام با اسم کلاس باشد
- نوع بازگشتی نداشته باشد
- اگر برای کلاس سازنده ای تعریف نشده باشد، کمپایلر بصورت خودکار یک default constructor برای کلاس قرار خواهد داد.
- سازنده میتواند دارای سطوح دسترسی public, private, protected, default باشد. (اگر سازنده ای پرایوت تعریف شده باشد، خارج از خود کلاس قابل استفاده نخواهد بود.)
- سازنده میتواند بدون ورودی باشد. (default constructor)
- یک کلاس میتواند شامل چند سازنده با ورودی های مختلف باشد.
💡 در مقابل میتوانیم از Static Factory Method ها هم استفاده کنیم. اگر داخل کلاس متدی ایجاد کنیم که نوع بازگشتی یک شی از همین کلاس باشه، به این متد Static Factory Method گفته میشه.
🔆 در اینجا میتونید مزایای استفاده از Static Factory Methods رو مشاهده کنید:
✅ دارای اسم با معنی
✅ نوع بازگشتی دارند
✅ میتوان یک شی ( نمونه / ابجکت) بصورت کنترل شده از یک کلاس بوسیله این متد ها ایجاد کرد (برای مثال الگوی سینگلتون که در آینده با هم بررسی خواهیم کرد)
✅ از آنجا که Static Factory Methods دارای اسم با معنی میباشد، به خوانایی کد کمک میکند
🔰مثال:
LocalDateTime now = LocalDateTime.now();ایجاد یک نمونه از کلاس LocalDateTime بدون استفاده از کنستراکتور و بوسیله متد استاتیک now
String str = String.valueOf(4);ایجاد یک نمونه از کلاس String و استفاده از متد استاتیک valueOf برای تبدیل عدد به رشته
#constructor #static #static_factory_method #static_method
@pieceJava
👍4