أسئلة تقييم الدرس: الوراثة. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
1) عند كتابة public class Programmer extends Employee ماذا تعني الكلمة extends؟
2)
snippet×
SourceHistory⟲⟳🔍
class A{int id = 0;}class B extends A{String name = "mct";}
تأمل الكود السابق، الكلاس "A" الذي يُورث خصائصه إلى كلاس آخر، فهذا الكلاس A يسمى : ............ اختر الإجابة الصحيحة
3)
snippet×
SourceHistory⟲⟳🔍
class Employee{String name;}class Programmer extends Employee{String progLang;}
تأمل الكود السابق، ماهو الاسم الذي يُطلق على الكلاس "Programmer" الذي يتم بناءه على أساس كلاس آخر "Employee" ؟ الجواب: ............ اختر الإجابة الصحيحة
تأمل الكود السابق، ماهو الاسم الذي يُطلق على الكلاس "Person" بناء على عملية الوراثة بينه وبين Student class ؟ الجواب: ............ اختر الإجابة الصحيحة
5) ما هو مفهوم الوراثة inheritance في برمجة كائنية التوجه (OOP)؟
6) أكمل الفراغ:
للوراثة في جافا نستخدم الكلمة ........
7) تأمل الكود التالي،
ماذا سيكون الناتج عند تنفيذه؟
snippet×
SourceHistory⟲⟳🔍
class A{ A() { System.out.print("A"); }}class B extends A{ B() { System.out.print("B"); }}publicclass Main{publicstaticvoid main(String[] args) {new B(); }}
8) هل تسمح جافا لكلاس class أن يرث من كلاسين معًا باستخدام extends؟
2السؤال الثاني: صح أم خطأ
1) دالة البناء constructor تُورث مثل الدوال العادية.
صح أم خطأ؟
الصواب: خطأ
2) الجملة super() يجب أن تكون أول سطر في دالة بناء الكلاس الابن.
صح أم خطأ؟
الصواب: صح
3) الكلاس الابن يصل مباشرة إلى أعضاء private في الكلاس الأب.
صح أم خطأ؟
الصواب: خطأ
4) الوراثة تقلل تكرار الكود.
صح أم خطأ؟
الصواب: صح
5) الوراثة المتتالية Multilevel مدعومة في جافا.
صح أم خطأ؟
الصواب: صح
3السؤال الثالث: أكمل الفراغات
1) الكلمة التي تستدعي دالة بناء الأب: .
💡 الكلمة التي تستدعي دالة بناء الأب.
الإجابة: super
2) الكلاس الوارث بالإنجليزية .
💡 الكلاس الوارث بالإنجليزية.
الإجابة: Subclass
3) ترتيب دوال البناء: الجد ثم ثم الابن.
💡 بين الجد والابن.
الإجابة: الأب
4) رمز الوراثة في UML سهم برأس فارغ.
💡 شكل رأس سهم الوراثة.
الإجابة: مثلث
4السؤال الرابع: التوصيل
طابِق كل عنصر في العمود (أ) بما يناسبه في العمود (ب):
1) extends
2) super()
3) super.x
4) Superclass
5) Subclass
أ. الكلاس الأب.
ب. يرث من.
ج. الكلاس الابن.
د. خاصية الأب.
هـ. دالة بناء الأب.
المفتاح: (1) ب(2) هـ(3) د(4) أ(5) ج
5السؤال الخامس: أسئلة عملية
1) تتبّع الناتج:
snippet×
SourceHistory⟲⟳🔍
class Animal{String name = "Animal";void sound() { System.out.println("..."); }}class Cat extends Animal{void meow() { System.out.println(name + " says meow"); }}publicclass Main{publicstaticvoid main(String[] args) { Cat c = new Cat(); c.sound(); c.meow(); }}
الناتج الصحيح:Output×
...
Animal says meow
2) اكتب كلاس Vehicle بخاصية wheels، وكلاس Car يرثه ويضع wheels = 4 في دالة بنائه، ثم اطبعها.
الحل النموذجي:
Vehicle.java×
SourceHistory⟲⟳🔍
class Vehicle{int wheels;}class Car extends Vehicle{ Car() { wheels = 4; }}publicclass Main{publicstaticvoid main(String[] args) { Car c = new Car();System.out.println(c.wheels); }}
Output – JavaApplication (run)×
run:
4
BUILD SUCCESSFUL (total time: 0 seconds)
قارن إجابتك بالحل:
3)
أكمل الكود من التدريب 12: الكلاس B يرث A ويستدعي دالة بناء الأب
public class B A { String firstName; public B(String firstName, String fatherName) { (fatherName); this.firstName = firstName; } public void printName(){ System.out.println("Father name: " + .fatherName); }}