اإلمتحان النصف الثاني لمقرر CS602&GS301 الموافق 2018/1/7 : السؤال األول: )1اهم مراحل انشاء برنامج جافا كتابة نص المصدرو عملية الترجمة و التنفيذ واإلختبار )2الثابت هو مساحة من الذاكرة تشغلها قيمة واليمكن تغييرها أثناء التشغيل( .)runtime )3يمكن اإلستغناء عن األقواس } { في جملة ifفي حال كان عدد الجمل جملة واحدة )4تعدد الوراثة تعني أحد الـ classيرث اكثر من super classes )5لمنع أي methodمن الــ overridingنعلن عن الــ methodكــــ final )6مترجم جافا ) (javacيترجم البرنامج المصدري الي byte code )7في تعريف الــ classال methodالمتوفرة والتي يتم استدعائها لتنشيء مثيل لل classهي constructor )8قدرة الــ classعلي اإلستفادة من عناصر الــ classesاألخري كأنها جزء منها تسمي وراثة )9طريقة الوصول الي المتغير privateتكون عن طريق getter & setter methods )10
محاولة اشتقاق objectمن abstract classينتج عنه compilation errorأما عمل override لـ methodمن superclassتحمل حماية اكثر من الــ publicيتنج عنه syntax error
)11
تعدد األشكال هو الوراثة +تغيير طريقة تطبيق الـ + methodsالطرق و األصناف المجردة
)12
الشكل في األسفل يبين مصفوفة ( ) arrayاعداد صحيحة بالقيم التالية:
أ .قيمة ]..............4........ array[1 ب .قيمة ...........7..... value.length ج .عندما ينفذ الـبرنامج ) ] System.out.println(array[7سيكون الخرج Error:index out of array السؤال الثاني :أجب عن االسئلة التالية: .1انواع methodsفي الـ sub classلها ثالث احتماالت ،إذكرها مع المقارنةبينها و ذكر مثال برمجي لكال منها؟ الحلlecture6-slide15 : .2ما الذي سيحدث عند تنفيذ البرنامج؟ { public class MyClass ;long var )public void MyClass(long param) { var = param; } //(1 { )public static void main(String[] args ;MyClass a,b ;)(a = new MyClass )//(2 ;)b = new MyClass(5 )//(3 } }
الحل: يحدث compilation errorعند ( ، )3ألن الــ classليس لديه constructorيقبل معامل من نوع . intواالعالن عند ( )1هو عن methodوليس constructorالنها معرفة علي انها . voidويحدث ان تكون ال methodsنفس اسم الــ . classاما ال classفانه يحتوي constructorافتراضي يمكن ان يتم استدعاءه باعتبار انه ال وجود الي اعالن عن ، constructorوهذا ما تسبب في انشاء مثيل للـ classعند (.)2 .3الفرق بين Methodو Constructor؟ ال constructorيستخدم لتهيئة ال objectأما الدوال فتقوم بوصف المتغيرات. ال constructorالترجع أي قيم أما الميثود فقد ترجع قيم