مقدمة عن البرمجة المُوجهة للكائنات

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

ما هي النقطة الرئيسية التي تؤكد عليها الفقرة؟

  • وصف كيفية عمل البريد الإلكتروني في جافا
  • وصف فوائد البرمجة باستخدام لغة جافا
  • شرح مفهوم التجريد في البرمجة (correct)
  • وصف أهمية استخدام البروتوكولات في البرمجة

ما هو دور التجريد (abstraction) في البرمجة؟

  • زيادة تعقيد الكود
  • زيادة الوقت اللازم لكتابة الكود
  • جعل الكود أكثر صعوبة في الفهم
  • جعل الكود أكثر قابلية للإعادة (correct)

ماذا تعني العبارة "تجريد" في سياق الفقرة؟

  • التحكم المباشر في أدق تفاصيل البرامج
  • فهم كود البرنامج بالكامل
  • زيادة سرعة تنفيذ البرامج
  • إخفاء تفاصيل معقدة عن المبرمج (correct)

ما هو المثال المُستخدَم في الفقرة لشرح فكرة التجريد؟

<p>استخدام البريد الإلكتروني في جافا (A)</p> Signup and view all the answers

ماذا تُشير الفقرة إلى أن المبرمج ليس مسؤولاً عنه في المثال المُستخدم؟

<p>التحكم في البريد الإلكتروني (A)</p> Signup and view all the answers

ما الذي يُشير إليه استخدام العبارة "ولست مسؤولاً عنها" في سياق الفقرة؟

<p>عدم مسؤولية المبرمج عن استخدام بروتوكولات البريد الإلكتروني (D)</p> Signup and view all the answers

ما الذي يتيح لغة جافا للمبرمجين؟

<p>التعامل مع البرمجة على مستوى عالٍ دون الحاجة إلى معرفة التفاصيل (B)</p> Signup and view all the answers

ما هو هدف استخدام التجريد في البرمجة؟

<p>جعل الكود أكثر سهولة في الفهم (B)</p> Signup and view all the answers

ماذا تعني كلمة class في سياق البرمجة الموجهة للكائنات؟

<p>تعريف لكائنات جديدة (A)</p> Signup and view all the answers

كيف يمكنك الوصول إلى الأعضاء داخل كائن معين؟

<p>باستخدام الصيغة Object_name.member (D)</p> Signup and view all the answers

لماذا لا يمكن إنشاء كائنات من الكلاسات من نوع abstract؟

<p>لأنها مصممة لتكون نماذج فقط (C)</p> Signup and view all the answers

أي من الخيارات التالية هو اسم صحيح لكائن؟

<p>student (D)</p> Signup and view all the answers

ما هو دور العضو x في تعريف الكلاس A؟

<p>تخزين قيمة عددية (A)</p> Signup and view all the answers

ماذا يحدث إذا حاولت إنشاء كائن من كلاس من نوع abstract؟

<p>سيظهر خطأ incompatible type (B)</p> Signup and view all the answers

ماذا تمثل الدالة print() في الكلاس A؟

<p>تعرض رسالة إلى المستخدم (C)</p> Signup and view all the answers

أي من العبارات التالية صحيحة بخصوص الأعضاء في الكلاسات؟

<p>يمكن الوصول إليها فقط عبر الكائنات (C)</p> Signup and view all the answers

ما هو الاستخدام الرئيسي من التعريف class؟

<p>تعريف نماذج للكائنات (C)</p> Signup and view all the answers

ما هو هدف استخدام الكلاسات في البرمجة الموجهة للكائنات؟

<p>توفير التحكم في الوصول إلى البيانات (A)</p> Signup and view all the answers

ما هو الفرق الرئيسي بين البرمجة الموجهة للكائنات (OOP) والبرمجة التقليدية؟

<p>البرمجة الموجهة للكائنات تستخدم الكائنات كوحدة بناء أساسية للبرنامج بدلاً من استخدام الدوال والأوامر. (D)</p> Signup and view all the answers

ما هو مفهوم class في البرمجة الموجهة للكائنات؟

<p>هو قالب أو نموذج لإنشاء كائنات <code>object</code> مماثلة. (D)</p> Signup and view all the answers

ما هي properties في سياق البرمجة الموجهة للكائنات؟

<p>هي البيانات التي تمثل <code>object</code> معين. (C)</p> Signup and view all the answers

ما هي methods في سياق البرمجة الموجهة للكائنات؟

<p>هي العمليات التي يمكن تنفيذها على <code>object</code> معين. (D)</p> Signup and view all the answers

أي من الخيارات التالية ھﻲ ﻣزاﯾﺎ ﻟﻠﺒﺮﻣﺠﺔ ﺑﻮاﺳﻄﺔ اﻷھﺪاف؟

<p>نظامية أفضل وسرعة أكبر في عملية الإعداد. (C)</p> Signup and view all the answers

ما هو العيب الرئيسي للبرمجة التقليدية؟

<p>صعوبة إعادة استخدام الأجزاء البرمجية. (B)</p> Signup and view all the answers

ما هو مفهوم object في البرمجة الموجهة للكائنات؟

<p>هو مثال محدد لـ <code>class</code> معينة. (B)</p> Signup and view all the answers

ما هي العلاقة بين object و class في البرمجة الموجهة للكائنات؟

<p><code>object</code> هو مثال محدد لـ <code>class</code> معينة. (D)</p> Signup and view all the answers

أي من الخيارات التالية ھﻲ ﻣن اﻟﻤﻔﺎھﯾم اﻷﺳﺎﺳﯾﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺑﻮاﺳﻄﺔ اﻷھﺪاف ؟

<p>كل ما سبق (A)</p> Signup and view all the answers

ما هو مفهوم التغليف (Encapsulation) في البرمجة الموجهة للكائنات؟

<p>عملية إخفاء المعلومات الداخلية للكائن عن العالم الخارجي. (C)</p> Signup and view all the answers

ما هو مفهوم التجريد (Abstraction) في البرمجة الموجهة للكائنات؟

<p>عملية التركيز على السلوكيات الرئيسية للكائن <code>object</code> وتجاهل التفاصيل الداخلية. (C)</p> Signup and view all the answers

ما هو مفهوم وراثة الكلاس (Inheritance) في البرمجة الموجهة للكائنات؟

<p>عملية إنشاء <code>class</code> جديد من <code>class</code> موجود. (B)</p> Signup and view all the answers

ما هو مميز OOP مقارنة بالبرمجة التقليدية؟

<p>كل ما سبق. (A)</p> Signup and view all the answers

كم عدد الأسماء التي يمكن أن تحتوي عليها الفئة (class) في لغة البرمجة؟

<p>اسم واحد فقط. (A)</p> Signup and view all the answers

ما هو استخدام methods في سياق البرمجة الموجهة للكائنات؟

<p>تُستخدم لوصف السلوكيات التي يمكن تنفيذها على <code>object</code> معين. (A)</p> Signup and view all the answers

Flashcards

التجريد (Abstraction)

عملية تحديد الخصائص والعمليات التي تنتمي لصنف معين.

هدف التجريد

يجعل المبرمجين يتعاملون مع الأشياء ببساطة.

مثال على التجريد

بناء برنامج يسمح بإرسال اقتراحات عبر البريد الإلكتروني.

خصائص الصنف

تتضمن البيانات والسلوكيات التي يملكها الصنف.

Signup and view all the flashcards

وظيفة التجريد

تخفيف تعقيد البرامج عن طريق إخفاء التفاصيل.

Signup and view all the flashcards

العمليات في التجريد

تتعامل مع كيفية تنفيذ الأوامر بسلاسة.

Signup and view all the flashcards

التطبيقات الشائعة للتجريد

تستخدم في بناء الأنظمة والبرامج الحديثة.

Signup and view all the flashcards

أهمية التجريد

يساعد على إخفاء التعقيد ويسهل الفهم.

Signup and view all the flashcards

دالة الأعضاء

دالة تنتمي إلى كلاس معين ويمكن استخدامها مع الكائنات.

Signup and view all the flashcards

تعريف الكائنات

كيفية إنشاء كائنات باستخدام كلاس مع تحديد الخصائص.

Signup and view all the flashcards

كلمة محجوزة class

تُستخدم لتحديد كلاس في البرمجة كائنية التوجه.

Signup and view all the flashcards

مثال على تعريف كلاس

استخدام الكود لتحديد كلاس مع خصائص ودوال.

Signup and view all the flashcards

كائن object

نسخة من كلاس تحتوي على بيانات وخصائص محددة.

Signup and view all the flashcards

استدعاء أعضاء الكلاس

طريقة للوصول إلى الأعضاء داخل كائن باستخدام اسم الكائن.

Signup and view all the flashcards

كلاس abstract

كلاس لا يمكن إنشاء كائنات مباشرة منه ويستخدم كقالب.

Signup and view all the flashcards

الوظيفة print()

دالة طباعة تستخدم لإظهار البيانات أو الرسائل.

Signup and view all the flashcards

تجربة كود في Main

كود يُستخدم لاختبار كائنات وأعضاء الكلاس.

Signup and view all the flashcards

منع إنشاء كائن من abstract

لا يسمح بإنشاء كائنات مباشرة من الكلاس abstract.

Signup and view all the flashcards

البرمجة الشيئية

أسلوب جديد لتطوير البرمجيات يعتمد على فكرة الفئات والكائنات.

Signup and view all the flashcards

الفئة (Class)

نموذج يحتوي على البيانات والعمليات الخاصة بكائن معين.

Signup and view all the flashcards

الكائن (Object)

وحدة تحتوي على مجموعة من البيانات والعمليات التي تمثل موضوع معين.

Signup and view all the flashcards

الخصائص (Properties)

البيانات أو الصفات المرتبطة بالكائن.

Signup and view all the flashcards

العمليات (Methods)

الدوال التي تنفذ على الكائن وتحقق عمليات محددة.

Signup and view all the flashcards

التوارث (Inheritance)

آلية تسمح لكائن بجمع خصائص وأفعال كائن آخر.

Signup and view all the flashcards

التعدد (Polymorphism)

قدرة كائنات مختلفة على التصرف كنوع واحد.

Signup and view all the flashcards

الارتباط (Encapsulation)

تجميع البيانات والعمليات داخل وحدة واحدة وحمايتها.

Signup and view all the flashcards

البرمجة الهيكلية

أسلوب قديم في البرمجة يعتمد على تجزئة البرامج إلى مهام.

Signup and view all the flashcards

فصل البيانات عن العمليات

التمييز بين البيانات والعمليات للتحكم الأفضل.

Signup and view all the flashcards

الهدف (Goal)

مهمة معينة تسعى البرمجة لتحقيقها.

Signup and view all the flashcards

استخدام الفئات

تمكين المبرمج من إنشاء فئات تمثل كائنات الحياة.

Signup and view all the flashcards

مزايا البرمجة الشيئية

زيادة الكفاءة والمرونة وسهولة الصيانة.

Signup and view all the flashcards

الأدوات الأساسية

الأدوات التي يستخدمها المبرمجون في تطوير البرمجيات.

Signup and view all the flashcards

Study Notes

مُقدمة عن البرمجة المُوجهة للكائنات

  • تُعدّ البرمجة المُوجهة للكائنات أسلوباً حديثاً في البرمجة، حيث تُعتبر وحدة بناء البرنامج هي الصنف (class) الذي يحوي البيانات (data) والعمليات (الدوال) (functions).
  • تشتق فكرة البرمجة المُوجهة للكائنات (OOP) من فكرة استخدام الكائن (Object) كوحدة برمجة أساسية.
  • في المقابل، كانت الطريقة التقليدية في البرمجة تعتمد على الدوال والأوامر، مما يُجبر المبرمج على إعادة كتابة الأوامر كل مرة لتحقيق فكرة معينة.
  • تُعد البرمجة المُوجهة للكائنات أكثر فاعلية وسرعة من البرمجة التقليدية نظراً لتركيزها على الوحدات الكبيرة (الكائنات) بدلاً من الوحدات الصغيرة (الدوال).

الدرس الأول: معنى البرمجة الشيئية (OOP)

  • البرمجة المُوجهة للكائنات هي أسلوب جديد من أساليب البرمجة يركز على الكائنات (Objects) كأحد وحدات البناء الأساسية.
  • تُركز على تقسيم البرنامج إلى مجموعة من المهام الرئيسية، ثم تقسيم كل مهمة رئيسية إلى مهام فرعية، حسب مستوى التعقيد، مما يجعلها أكثر تنظيماً وسهولة في الصيانة و إعادة استخدامها.
  • تنتهج البرمجة الهيكلية نهج من أعلى إلى أسفل (Top-Down).
  • تُعد البرمجة الهيكلية ذات عيوب مثل صعوبة فصل البيانات عن العمليات، وإعادة إنشاء الحلول وإعادة استخدامها.

المفاهيم الأساسية للبرمجة المُوجهة للكائنات

  • الفصيلة (Class): تُعد الفصيلة أساس البرمجة المُوجهة للكائنات، و تُستوحى من الواقع، حيث كل عنصر في الحياة مُمثّل بفصيلة (مثل السيارات أو الطيور).
  • تُمثّل الفصيلة (class) عنصرين أساسيّين: البيانات (data) والدوال (methods).
  • الكائن (Object): وحدة تحوي مجموعة من البيانات (الخصائص) (properties) و العمليات (الأساليب) (methods).
  • الكائنات ذات الخصائص والعمليات المشتركة يمكن تجميعها في صنف واحد.

مزايا البرمجة الشيئية (OOP)

  • التجريد (Abstraction): تسهل كتابة الأوامر وتحدد الخصائص والعمليات المتعلقة بصنف معيّن.
  • إخفاء البيانات (Data Hiding): يحمي البيانات الأساسية في الكلاس، ويُتاح التعامل معها من خلال دوال مُخصصة.
  • التغليف (Encapsulation): تجميع الخصائص (properties) والطرق (methods) في وحدة واحدة، و يُمكن الوصول إليها من خلال الكائن أو الكلاسات المُتّصلة به.
  • الوراثة (Inheritance): يورث الصنف الخصائص والعمليات الموجودة في الصنف الآخر.
  • التعددية الأشكال (Polymorphism): نفس الدالة يمكن أن تتعرف بطرق مُختلفة في أصناف مُختلفة.

البرامج التي تدعم البرمجة الشيئية

  • VB.NET و C# و Java و C++

المُتغيرات ( Variables )

  • المتغيرات المحلية (Local Variables): مُعرّفة داخل دالة.
  • المتغيرات العائدة للكائن (Instance Variables): مُعرّفة داخل الصنف (class) وخارج أي دالة.
  • المتغيرات العائدة للصنف (Class Variables): مُعرّفة داخل الصنف (class) و مُسبقة بكلمة static.

الكلمة this

  • تستخدم هذه الكلمة لتمييز متغيرات عائدة للصنف من متغيرات عائدة للدوال المحليّة.
  • مُفيدة عند تعريف كونستركتور يملك نفس إسم المتغير العائد للکائن (Instance Variables)

الكلمة super

  • تستخدم لتمييز متغيرات عائدة للصنف الأب (Superclass) من متغيرات عائدة للصنف (Subclass).
  • تستخدم أيضاً لإستدعاء كونستركتور الصنف الأب.

المُعدّلات المُوصوفة (Modifiers)

  • Modifiers للوصول (Access Modifiers): تُحدد مستوى الوصول إلى المتغيرات والدوال والکلاسات مثل (public, protected, private).
  • Modifiers غير مُخصصة للوصول (Non-Access Modifiers): تحدد خصائص أخرى للمتغيرات والدوال والکلاسات مثل (static, final, abstract, synchronized.).

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Object-Oriented Programming Concepts
25 questions
CSC 216: Object-Oriented Programming Concepts
51 questions
Object-Oriented Programming Concepts
9 questions
Java Object-Oriented Programming Concepts
13 questions
Use Quizgecko on...
Browser
Browser