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