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