« تفاوت هاي جاوا و ++C | ص?حه اصلی | Inheritance »

PIE

May 27, 2007 11:28 AM

PIE معر? سه وي?ژگي اصلي Object Oriented است كه جاوا بر آن استوار است: Polymorphism، Inheritance و Encapsulation
Polymorphism يعني است?اده از يك متغير براي ارجاع به Object هايي با type هاي مت?اوت. ?ايده اصلي Polymorphism امكان ا?زودن class هاي جديد است، بدون اينكه نياز به اصلاح كدهاي قبلي باشد. مثال:
List listShapes = new ArrayList(20);

Shape s = new Circle(); // دايره
listShapes.add(s);

s = new Square(); // مربع
listShapes.add(s);

s = new HalfCircle(); //نيم دايره
listShapes.add(s);

getTotArea(listShapes); // اين متد مجموع مساحت دايره،مربع و نيم دايره را برميگرداند

public double getTotArea(List listShapes){
Iterator it = listShapes.iterator();
double totalArea = 0.0;
while (it.hasNext()){
Shape s = (Shape) it.next();
totalArea += s.area(); // Polymorphic method call
}
Return totalArea;
}
در صورتي كه شكل هندسي ديگري، مثلا مثلث به عنوان subclass اي از Shape تعري? شود، نيازي به تغيير متد getTotArea نيست. بلكه تنها بايد تابع area بطور مناسب در class جديد پياده شود.
دو جزء ديگر PIE يعني Inheritance و Encapsulation در مطالب بعدي ارائه خواهند شد.

mahyar_ev | 11:28 AM

 

نظرخواهی

به نظر ممن شاهکار شی گرایی در همین PIE است. عواملی که با تشکیل ماژول های با خاصیت مشخص ، عوامل کی?ی نرم ا?زار ها را تضمین می بخشند. از طر? دیگر باعث کاهش حجم برنامه نویسی و ا?زایش قابلیت است?اده مجدد می شوند. سعی می کنم موضوعی را که طرح کرده ای از دیدگاه مهندسی نرم ا?زار گسترش دهم.
همین!

ارسال شده توسط: ali در ساعت May 27, 2007 01:07 PM

دقيقا همين طور است. آنچه ذكر كرده ايد مزاياي اصلي PIE است كه من از توضيح آن گذشته ام. قطعا بسط اين موضوع از ديدگاه مهندسي نرم ا?زار م?يد خواهد بود.

ارسال شده توسط: mahyar در ساعت May 28, 2007 01:22 PM

نظر شما چيست؟










Remember personal info?




برای ثبت نظر کلمه submit را در کادر زیر وارد کنید.