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