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