جامعة سبها – كلية تقنية املعلومات اإلجابة النموذجية لالمتحان النصفي األول :ملقرر GS301 ، CS602 السؤال األول : .1الفرق بين التحميل الزائد ( ) OVERLOADINGو . OVERRIDING : OVERRIDINGتعني ان نفس ال ـ methodsبنفس األسم موجودة في superclassو ال ـ subclassلكننا نعدل عليها في subclassحسب االمر املراد تغييره او تعديله .بمعني اخر " عبارة عن السماح للصنف الوارث subclassمن اعادة تعريف methodsموجود باالب املوروث . " superclass تعريف آخر:
تعني تعريف الدالة التي ورثها الـ Subclassمن الـ Superclassمن جديد ,هذه الدالة الجديدة تكون مشابهة
للدالة الموروثة من حيث الشكل فقط ,أي لها نفس اإلسم و النوع و عدد الباراميترات ,لكن محتواها مختلف.
: OVERLOADINGاذا كان ال ـ classلها عدة methodsبنفس األسم ولكن بمعامالت parametersمختلفة تعرف باسم : method overloadingتظهر في نفس classأو subclassلها نفس االسم ولكن ،لها معامالت مختلفة ،ويمكن ان تكون لها انواع اعادة مختلفة. ما املقصود بال ـ Java bytecode كود جافا الناتج من ترجمة التعليمات البرمجية املكتوبة بلغة الجافا بواسطة ال ـ compilerوال يعتمد علي نظام التشغيل. السؤال الثاني :بناءا علي قواعد البرمجة بلغة جافا ،حول الجمل التالية الي جمل يتمكن مترجم جافا من التعامل معها: .1اشتقاق كائن s1من الصنف studentمستخدما الدالة البنائية التي تستقبل األسم األول و الثاني و الرقم ;)”Student s1=new Student(“Fatma” , “Masoud “, “ 2021061122 الجامعي. .2بناء دالتين بنائيتين constructorلصنف Employeesاألولي افتراضية والثانية تستقبل ثالثة من معلومات أي موظف. // default constructor { )(public Employee ;"name = "no name ;salary = 800.0f ;"mobile = "09200000 } // overloaded constructor { )public Employee (String name, float salary, String mobile ;this.name = name ;this.salary = salary ;this.mobile = mobile }