« تفاوت هاي جاوا و ++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 را در کادر زیر وارد کنید.