فهرس المقرر
تقييم

تقييم الدرس 7: التغليف Encapsulation

إجاباتك تُحفظ تلقائيًّا على هذا الجهاز. أجب ثم اضغط «صحّح ورقتي» أسفل كل قسم.

class User - passwordمخفية + get()+ set() الوصول عبر دوال عامة بشروط

← العودة إلى الدرس 7: التغليف Encapsulation · أسئلة التقييم · أكمل الفراغات

أسئلة التقييم

أسئلة تقييم الدرس: التغليف Encapsulation. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

1السؤال الأول: اختر الإجابة الصحيحة

1) ما هو المقصود بـ Encapsulation في Java؟
2) أي من العبارات التالية صحيحة عن encapsulation؟
3) في جافا، كيف يمكن تعريف طريقة method تكون وظيفتها Getter أي تعيد قيمة؟
4) في جافا، ما الفائدة من جعل متغيرات الفئة class خاصة (private) ثم إنشاء لها دوال Setter والـ Getter ؟
5) في جافا، ما هي وظيفة دوال الـ Setter؟
6) أكمل الفراغ: في التغليف Encapsulation تُعرّف خصائص الكلاس كـ ........
7) أين نضع شرط التحقق من القيمة قبل حفظها في الخاصية؟
8) في NetBeans، لتوليد دوال get و set تلقائيًّا نختار:

2السؤال الثاني: صح أم خطأ

1) دوال get و set تُعرّف عادةً كـ private. صح أم خطأ؟
الصواب: خطأ
2) يمكن جعل الخاصية للقراءة فقط بكتابة دالة get بدون دالة set. صح أم خطأ؟
الصواب: صح
3) التغليف يمنع أي وصول إلى البيانات نهائيًّا. صح أم خطأ؟
الصواب: خطأ
4) اسم دالة get للخاصية age هو getAge. صح أم خطأ؟
الصواب: صح

3السؤال الثالث: أكمل الفراغات

1) التغليف بالإنجليزية .

💡 اسم المبدأ بالإنجليزية.

الإجابة: Encapsulation

2) دالة الإرجاع تبدأ بـ .

💡 ثلاثة أحرف: الدالة التي تُرجع القيمة.

الإجابة: get

3) دالة التعديل تبدأ بـ .

💡 ثلاثة أحرف: الدالة التي تُسند القيمة.

الإجابة: set

4) خيار NetBeans الذي يحوّل الخصائص إلى private: Encapsulate .

💡 الخيار في نافذة Getter and Setter: Encapsulate ___ .

الإجابة: Fields

4السؤال الرابع: التوصيل

طابِق كل عنصر في العمود (أ) بما يناسبه في العمود (ب):

  1. 1) private
  2. 2) getX()
  3. 3) setX()
  4. 4) Insert Code
  5. 5) Encapsulation
  1. أ. تعيد القيمة.
  2. ب. تعدّل القيمة بشرط.
  3. ج. تخفي الخاصية.
  4. د. توليد الكود تلقائيًّا.
  5. هـ. التغليف.
المفتاح: (1) ج (2) أ (3) ب (4) د (5) هـ

5السؤال الخامس: أسئلة عملية

1) تتبّع الناتج:

snippet
class Account{    private double balance;     public void setBalance(double b)    {        if (b >= 0) balance = b;        else System.out.println("Invalid");    }     public double getBalance() { return balance; }} public class Main{    public static void main(String[] args)    {        Account a = new Account();        a.setBalance(-50);        a.setBalance(200);        System.out.println(a.getBalance());    }}
الناتج الصحيح:
Output×
Invalid
200.0

2) اكتب كلاس Person بخاصية private اسمها age ودالتي get و set، بحيث ترفض set العمر السالب.

الحل النموذجي:
Person.java
class Person{    private int age;     public int getAge()    {        return age;    }     public void setAge(int age)    {        if (age >= 0)            this.age = age;        else            System.out.println("Error: age cannot be negative");    }} public class Main{    public static void main(String[] args)    {        Person p = new Person();        p.setAge(-3);        p.setAge(20);        System.out.println(p.getAge());    }}
Output – JavaApplication (run)×
run:
Error: age cannot be negative
20
BUILD SUCCESSFUL (total time: 0 seconds)
قارن إجابتك بالحل:
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».

أكمل الفراغات

اختر الكلمة الصحيحة من القائمة المنسدلة في كل فراغ. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

1السؤال الأول: أسئلة عملية

1)

أكمل الكلاس User من التدريب 10 بتطبيق التغليف:

public class User {     String password;    public String () {         password;    }    public  setPassword(String password) {        if (password.length() >= 6 && password.length() < 30)            this.password = password;    }}
الإجابة: (1) private · (2) getPassword · (3) return · (4) void
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».