البرمجة الشيئية - الاختبار
  • 1. البرمجة الشيئية (OOP) هي نموذج برمجة يعتمد على مفهوم "الكائنات"، والتي يمكن أن تحتوي على بيانات في شكل حقول، وكود في شكل إجراءات. الكائنات هي أمثلة للفئات، والتي تحدد هيكل وسلوك الكائنات. تركز البرمجة الشيئية على تنظيم الكود في مكونات قابلة لإعادة الاستخدام وقابلة للتعديل، مما يسمح بتنظيم أفضل للكود وصيانته. التغليف، الوراثة، والتعددية هي مفاهيم رئيسية في البرمجة الشيئية، حيث توفر آليات لإخفاء البيانات، وإعادة استخدام الكود، والمرونة في التنفيذ. من خلال تمثيل الكيانات الواقعية ككائنات، تعزز البرمجة الشيئية نهج تصميم أكثر وضوحًا وبديهية لتطوير البرمجيات. ما هو المفهوم الأساسي وراء البرمجة الشيئية؟
A) التجريد
B) الوراثة
C) التغليف
D) التعددية
  • 2. ما هي الكلمة المفتاحية المستخدمة لإنشاء كائن في لغة جافا؟
A) this
B) new
C) var
D) class
  • 3. ما هي الفئة (class) في البرمجة الشيئية؟
A) دالة في لغة JavaScript.
B) مثال لكائن.
C) نموذج أولي لإنشاء الكائنات.
D) متغير في لغة C++.
  • 4. ما هو تعدد الأشكال في البرمجة الشيئية؟
A) القدرة على التعامل مع كائنات من فئات مختلفة على أنها كائنات من فئة أصل مشتركة.
B) توسيع وظائف فئة أصل.
C) إخفاء تفاصيل التنفيذ.
D) إنشاء كائنات من الفئات.
  • 5. ما هو التغليف في البرمجة الشيئية؟
A) إعادة تعريف طرق الفئة الرئيسية.
B) إنشاء نسخ متعددة من كائن.
C) ربط البيانات مع الطرق التي تعمل عليها.
D) وراثة الخصائص من فئة رئيسية.
  • 6. ما هو المُنشئ (constructor) في البرمجة الشيئية؟
A) طريقة خاصة يتم استدعاؤها تلقائيًا عند إنشاء كائن.
B) طريقة تُرجع قيمة.
C) طريقة تُستخدم لحذف الكائنات.
D) طريقة ثابتة (static method).
  • 7. ما هو استخدام الكلمة المفتاحية 'super' في لغة جافا؟
A) إعلان متغير.
B) تشير إلى الفئة الأصل (السوبر) لفئة معينة، وتستخدم لاستدعاء الدوال من الفئة الأصل.
C) تنفيذ واجهة (interface).
D) الوصول إلى دالة خاصة (private).
  • 8. ما هي آلية التحميل الزائد في البرمجة الشيئية؟
A) إنشاء طرق (methods) جديدة في فئة فرعية (subclass).
B) وجود عدة طرق (methods) في فئة (class) بنفس الاسم ولكن بمعاملات (parameters) مختلفة.
C) إعادة تعريف طريقة (method) موروثة من فئة رئيسية (superclass).
D) إخفاء تفاصيل تنفيذ طريقة (method).
  • 9. ما هو التجريد في البرمجة الشيئية؟
A) إعادة تعريف الدوال من فئة أصل.
B) إخفاء تفاصيل التنفيذ مع إظهار التفاصيل الضرورية فقط للكائن.
C) الوصول إلى أعضاء الفئة الخاصة.
D) إنشاء كائنات متعددة من فئة واحدة.
  • 10. ما هو مُعدِّل الوصول العام في البرمجة الشيئية؟
A) يخفي تفاصيل الكائن.
B) يسمح بتوسيع الفئة.
C) يُقيّد الوصول إلى داخل نفس الفئة فقط.
D) يسمح لفئة أو طريقة أو حقل بأن يتم الوصول إليه بواسطة أي كود آخر في نفس الحزمة أو في حزمة أخرى.
  • 11. ما هو استخدام الكلمة المفتاحية 'final' في لغة جافا؟
A) يجبر على إعادة تعريف الطريقة (override).
B) يمنع تعديل الفئة أو الطريقة أو المتغير.
C) يُمكّن الربط الديناميكي للطرق.
D) يسمح بالميراث المتعدد.
  • 12. ما هو مبدأ التصميم الذي ينص على أن الفئات يجب أن تكون مفتوحة للتوسيع ولكن مغلقة للتعديل؟
A) مبدأ تجزئة الواجهات (Interface Segregation Principle)
B) مبدأ الانفتاح/الإغلاق (Open/Closed Principle)
C) مبدأ استبدال ليسكوف (Liskov Substitution Principle)
D) مبدأ المسؤولية الوحيدة (Single Responsibility Principle)
  • 13. ما هو نوع الوصول الذي يسمح لفئة ما بالوصول إليها أي فئة أخرى؟
A) عام (Public)
B) خاص (Private)
C) محمي (Protected)
D) افتراضي (Default)
  • 14. ما هي الكلمة المفتاحية المستخدمة لوراثة صنف (class) في لغة جافا؟
A) extends
B) implements
C) this
D) super
  • 15. ما هي الخاصية التي تسمح لفئة بامتلاك طرق متعددة بنفس الاسم ولكن بمعاملات مختلفة؟
A) وراثة (Inheritance)
B) تجاوز (Overriding)
C) تحميل زائد (Overloading)
D) تغليف (Encapsulation)
  • 16. ما هي الخاصية التي تسمح باستخدام نفس الطريقة مع أنواع مختلفة من الكائنات؟
A) التجريد (Abstraction)
B) تعدد الأشكال (Polymorphism)
C) التغليف (Encapsulation)
D) الوراثة (Inheritance)
  • 17. ما هو الغرض من تجاوز الدوال (method overriding) في البرمجة الشيئية؟
A) لإمكانية وجود دوال متعددة بنفس الاسم في فئة واحدة.
B) لتوفير تطبيق محدد لدالة موجودة بالفعل في الفئة الأصل (superclass).
C) لإنشاء دوال جديدة في الفئة الفرعية (subclass).
D) لإخفاء تفاصيل تنفيذ الدالة.
  • 18. ما هو المبدأ الذي يتم انتهاكه إذا تعذر استبدال الفئة الفرعية بفئتها الأصل؟
A) مبدأ الانفتاح والإغلاق (Open/Closed Principle)
B) مبدأ المسؤولية الواحدة (Single Responsibility Principle)
C) مبدأ استبدال ليسكوف (Liskov Substitution Principle)
D) مبدأ عكس التبعية (Dependency Inversion Principle)
  • 19. تُعرف الطريقة التي تحمل نفس اسم الفئة التي تم تعريفها فيها باسم:
A) دالة التعديل (Mutator method)
B) الدالة التدميرية (Destructor)
C) دالة الوصول (Accessor method)
D) الدالة البانية (Constructor)
  • 20. ما هي الكلمة المفتاحية المستخدمة لمنع إعادة تعريف الدوال في لغة جافا؟
A) static
B) abstract
C) final
D) public
  • 21. ما هي الكلمة المفتاحية المستخدمة للإشارة إلى الكائن الحالي في لغة جافا؟
A) new
B) extends
C) this
D) super
  • 22. ما هو المصطلح المستخدم لوصف عملية تقييد الطريقة التي يمكن أن تستخدم بها الفئات الفرعية لتعديل الفئة الأصل؟
A) تحميل زائد (في البرمجة)
B) تجاوز (في البرمجة)
C) تجاوز (بمعنى آخر)
D) تجاوز
  • 23. ما هو المصطلح الذي يصف القدرة على إنشاء فئات جديدة بناءً على الفئات الموجودة؟
A) التجريد
B) تعدد الأشكال
C) التغليف
D) الوراثة
  • 24. ما هو مبدأ التصميم الذي يشير إلى أن الفئة يجب أن يكون لها سبب واحد فقط للتغيير؟
A) مبدأ المسؤولية الواحدة
B) مبدأ الانفتاح/الإغلاق
C) مبدأ تجزئة الواجهات
D) مبدأ استبدال ليسكوف
  • 25. أي من الخيارات التالية يسمح بالميراث المتعدد في لغة ++C؟
A) تعدد الأشكال
B) الواجهات
C) الميراث الافتراضي
D) الفئات المجردة
  • 26. ماذا تعني اختصار 'DRY' في سياق البرمجة الشيئية؟
A) سنة تمثيل البيانات
B) ساحة إعادة الاستخدام الديناميكي
C) كرر نفسك
D) لا تكرر نفسك
  • 27. أي من العلاقات يمثل حالة يكون فيها أحد الأصناف معتمدًا على صنف آخر؟
A) التركيب
B) التجميع
C) الاعتمادية
D) الوراثة
  • 28. ما هو نوع العلاقة الذي يعكس علاقة "يحتوي على" بين الفئات؟
A) تكوين (Composition)
B) اعتمادية (Dependency)
C) تجميع (Aggregation)
D) وراثة (Inheritance)
تم إنشاؤها باستخدام That Quiz — حيث يتم إجراء الاختبارات والاختبارات بسهولة للرياضيات ومجالات المواد الأخرى.