تقييم الدرس 10: التجريد Abstraction
إجاباتك تُحفظ تلقائيًّا على هذا الجهاز. أجب ثم اضغط «صحّح ورقتي» أسفل كل قسم.
← العودة إلى الدرس 10: التجريد Abstraction · أسئلة التقييم · أكمل الفراغات
أسئلة التقييم
أسئلة تقييم الدرس: التجريد Abstraction. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
2السؤال الثاني: صح أم خطأ
3السؤال الثالث: أكمل الفراغات
1) الكلمة التي تجعل الكلاس مجردًا: .
💡 الكلمة التي تُكتب قبل class لتجعله مجردًا.
2) المبادئ الأربعة: التغليف والتجريد والوراثة و .
💡 المبدأ الرابع: Polymorphism.
3) العقد التجريدي الذي ينفّذه الكلاس: .
💡 عقد تجريدي ستتعرّف عليه لاحقًا.
4) سهم «ينفّذ» في UML يكون برأس مثلث.
💡 السهم ليس متصلًا.
4السؤال الرابع: التوصيل
طابِق كل عنصر في العمود (أ) بما يناسبه في العمود (ب):
- 1) abstract class
- 2) abstract method
- 3) interface
- 4) implements
- 5) extends
- أ. دالة بلا جسم.
- ب. كلاس لا يُنشأ منه كائن.
- ج. يرث كلاسًا.
- د. ينفّذ واجهة.
- هـ. عقد تجريدي.
5السؤال الخامس: أسئلة عملية
1) تتبّع الناتج:
abstract class Animal{ abstract String sound(); void say() { System.out.println("I say " + sound()); }} class Cow extends Animal{ String sound() { return "Moo"; }} public class Main{ public static void main(String[] args) { Animal a = new Cow(); a.say(); }}
2) اكتب كلاسًا مجردًا Employee فيه دالة مجردة double pay()، وكلاس Intern يرثه ويعيد 3000، ثم اطبع pay() لكائن Intern.
abstract class Employee{ abstract double pay();} class Intern extends Employee{ double pay() { return 3000; }} public class Main{ public static void main(String[] args) { Employee e = new Intern(); System.out.println(e.pay()); }}
أكمل الفراغات
اختر الكلمة الصحيحة من القائمة المنسدلة في كل فراغ. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: أسئلة عملية
سؤال برمجي حول Abstract و Polymorphism
لدينا كلاس مجرّد (abstract) اسمه Person يحتوي على: متغير name ودالة بناء (constructor) يستقبل الاسم
ودالة مجرّدة اسمها work
تم إنشاء كلاس Student يرث من Person ويعيد تعريف الدالة work بحيث تطبع مثل ما يلي: Student Ali is studying وتم إنشاء كلاس Teacher يرث من Person ويعيد تعريف الدالة work بحيث تعرض: Teacher Mohammed is teaching. في الدالة main:
أنشئ كائنًا من Student وآخر من Teacher كعناصر للمصفوفة التي من نوع Person (أي باستخدام polymorphism).
وتم استدعِ الدالة work لكلا الكائنين.
class Person { String name; Person(String name) { this.name = name; } void work();}class Student Person { Student(String name) { (name); } @Override void () { System.out.println("Student " + name + " is studying."); }}class Teacher Person { Teacher(String name) { super(name); } @Override void () { System.out.println("Teacher " + name + " is teaching."); }}public class Main { public static void main(String[] args) { p[ ] = { new Student("Ali"), new Teacher("Mohammed") }; p[0].work(); p[1].work(); }}