+1 امتیاز
قبل در برنامه نویسی توسط (5 امتیاز)
ویرایش شده قبل توسط

این مدل نمونه سازی چه مزیتی داره ؟ مثلا چرا میگن بهتره بجای

ArrayList<String> list = new ArrayLis<>();

بصورت زیر استفاده بشه :

List<String> list = new ArrayList<>();

از نظر OOD توجیحی داره ؟

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

وقتی شما بجای اینکه متغیر خود را از جنس ArrayList تعریف کنید، از جنس کلاس پدر و یا interface ی که کلاستان پیاده سازی کرده است تعریف می کنید دارید از مزیت polymorphism استفاده میکنید. مزیت این کار امکان تغییر پیاده سازی ArrayList در آینده بدون تغییر در متغیر است. برای مثال اگر شما یک پیاده سازی سریعتر از ArrayList پیدا کنید که فرزند List باشد، می توانید براحتی آنها را جابجا کنید. 

سوالات مشابه

0 امتیاز
0 پاسخ 155 بازدید
0 امتیاز
1 پاسخ 478 بازدید
+2 امتیاز
1 پاسخ 438 بازدید
0 امتیاز
1 پاسخ 630 بازدید
+2 امتیاز
2 پاسخ 3.2هزار بازدید
+1 امتیاز
2 پاسخ 3.0هزار بازدید
...