برمجة كائنية: المفاهيم الأساسية
48 Questions
0 Views

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

البرمجة الشيئية تساعد في تنظيم البيانات والإجراءات المتعلقة بها.

True (A)

الأشياء مثل هواء أو درجة حرارة تعتبر عناصر حسية.

False (B)

السمات تعتبر أشياء في حد ذاتها.

False (B)

يمكن أن تحمل سيارات وأشجار صفات مشابهة مثل اللون.

<p>True (A)</p> Signup and view all the answers

الكائنات تمثل المفاهيم التجريدية فقط.

<p>False (B)</p> Signup and view all the answers

الاهتمام الانتقائي يساعد في فهم البرمجة الشيئية.

<p>True (A)</p> Signup and view all the answers

الكائن هو شيء يمكن تمييزه بوضوح.

<p>True (A)</p> Signup and view all the answers

السمات هي عناصر محيطة مثل الهواء والضوء.

<p>False (B)</p> Signup and view all the answers

كلما تستدعى ميثود الإضافة، يتم إنشاء كومة جديدة لتخزين المتغيرات المحلية.

<p>False (B)</p> Signup and view all the answers

الكائنات في الذاكرة تظل حتى لا يتم استخدامها وبعد ذلك يقوم جامع القمامة بإزالتها.

<p>True (A)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

يمكن الوصول إلى كائن واحد في الذاكرة من خلال مرجع واحد فقط.

<p>False (B)</p> Signup and view all the answers

وظائف الكائن الداخلية تشمل فقط الطرق التي يستخدمها الكائن للتفاعل مع الكائنات الأخرى.

<p>False (B)</p> Signup and view all the answers

خلال البرمجة الكائنية، يمكن أن يشير كائن إلى عدة أسماء أو متغيرات.

<p>True (A)</p> Signup and view all the answers

التغيير في كائن يشير إليه متغير واحد، ينعكس على جميع المتغيرات الأخرى التي تشير إلى نفس الكائن.

<p>True (A)</p> Signup and view all the answers

كائن المركب يمكن أن يحتوي على كائنات مكونات تشكل جزءًا منه.

<p>True (A)</p> Signup and view all the answers

الكائنات تتكون فقط من مكون واحد.

<p>False (B)</p> Signup and view all the answers

يمكن أن توجد كائنات المكونات بشكل مستقل عن الكائن المركب.

<p>False (B)</p> Signup and view all the answers

علاقة الاعتماد تعني أن وجود كائن واحد يعتمد بالكامل على وجود كائن آخر.

<p>False (B)</p> Signup and view all the answers

يمكن أن تشير مراجع الأفراد إلى نفس الكائن في الذاكرة.

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

يمكن اعتبار الركاب في سيارة مثالًا لعلاقة الاعتماد بين الكائنات.

<p>False (B)</p> Signup and view all the answers

الكائنات المعقدة تُصنع من دمج كائنات أبسط، مما يعكس العلاقات والاعتماد في العالم الحقيقي.

<p>True (A)</p> Signup and view all the answers

يمكن لكائنات مثل الكتاب أن ترتبط بكائنات أخرى مثل المؤلف دون الحاجة لعلاقة مركبة صارمة.

<p>True (A)</p> Signup and view all the answers

الاستاذ عندو طريقة لي تنجم تعلم التلاميذ.

<p>True (A)</p> Signup and view all the answers

في البرمجة الكائنية، الكلاس لي يمثل السيارة ما عندوش خصائص مثل اللون والعلامة التجارية.

<p>False (B)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

في البرمجة الكائنية، الكلاسات الفرعية تستطيع وراثة الخصائص من الكلاسات الرئيسية.

<p>True (A)</p> Signup and view all the answers

لا يمكن لكائن السيارة أن يكون مسجلاً في كائن الموقف.

<p>False (B)</p> Signup and view all the answers

في مثال كلاس السيارة، ما نحتاجوش نعيدو تمرير معلومات السيارة عند كل عملية لتحقق.

<p>True (A)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

الوراثة تعني أن كل كائن يمكنه أن يرث فقط طريقة واحدة.

<p>False (B)</p> Signup and view all the answers

البرمجي يقدر يخلق كلاص جديدة ويحدد الميتود والأتريبيوت.

<p>True (A)</p> Signup and view all the answers

اللغات اللي تتعامل مع الأوبجيكتس تقتصر على الكلاصات والأوبجيكتس المحددة سلفا.

<p>True (A)</p> Signup and view all the answers

الميتود setSize() تتطلب كلاص جديدة لتغيير حجم الخط.

<p>False (B)</p> Signup and view all the answers

الميتود turnOn() تغير حالة المصباح وتحتاج تعرف على أي أوبجيكت تطبق.

<p>True (A)</p> Signup and view all the answers

البرمجة كائنية التوجه (OOP) تتعامل مع الأوبجيكتس بطريقة مباشرة.

<p>False (B)</p> Signup and view all the answers

الأوبجيكتس تتواصل بتعطي تعليمات وتنفذها على أساس الأدوار.

<p>True (A)</p> Signup and view all the answers

المبرمج يستعمل الميتود accelerate() من أجل التعديل على الكلاص Car مباشرة.

<p>False (B)</p> Signup and view all the answers

كل كائن يؤدي نفس المهمات بغض النظر عن الكلاص الذي ينتمي له.

<p>False (B)</p> Signup and view all the answers

العبارة 'وسيلة النقل' واضحة وتحديداً تعني سيارة.

<p>False (B)</p> Signup and view all the answers

عملية الإرث في البرمجة الكائنية تسمح بترتيب الفئات في تسلسل هرمي.

<p>True (A)</p> Signup and view all the answers

تستخدم مصطلحات عامة مثل 'سيارة' في المحادثات اليومية لأن لها معنى أوضح.

<p>True (A)</p> Signup and view all the answers

بتنفيذ بوليمورفيسم، يمكن أن تستجيب أنواع مختلفة من الكائنات لنفس الرسالة بنفس الطريقة.

<p>False (B)</p> Signup and view all the answers

قد تحتاج إلى تفاصيل أكثر دقة عندما تتحدث إلى ميكانيكي عن مشكلتك في السيارة.

<p>True (A)</p> Signup and view all the answers

استخدام مصطلحات عامة للغاية قد يسبب لبس في المحادثات.

<p>True (A)</p> Signup and view all the answers

عندما تقول 'هاتف'، فإن هذا المصطلح يعني دائماً نموذج معين مثل 'آيفون 14' فقط.

<p>False (B)</p> Signup and view all the answers

يتعلق مستوى التفاصيل الذي تحتاجه في الاتصال بالسياق.

<p>True (A)</p> Signup and view all the answers

Flashcards

فئات جديدة

برامج تخلق وتُعرّف فئات جديدة، وتحدد خصائص الكائنات (objects) التي سوف تحتويها.

الأساليب

أدوات (methods) يتم تنفيذها داخل فئة (class) معينة. تعريفها يحدد كيفية عمل الأشياء داخل الفئة.

السمات (Attributes)

العناصر الأساسية التي تُعرف بها فئة (class) في برامج الكمبيوتر. تحدد الخصائص والصفات التي تُميز جميع كائنات (objects) هذه الفئة.

البرمجة الموجهة نحو الكائنات

برامج تركز على تفاعل الكائنات (objects) مع بعضها البعض. مثال: teacher و student يمكن تمثيلهم ككائنات تتفاعل.

Signup and view all the flashcards

برمجة غير موجهة نحو الكائنات

برامج لا تسمح بإضافة فئات جديدة وتستعمل فقط الفئات المُعدة مسبقًا. مثلها: JavaScript

Signup and view all the flashcards

النقطة .

الرمز الموجود في البرامج الذي يُستخدم لربط طريقة عمل معينة (method) بكائن (object) محدد.

Signup and view all the flashcards

طريقة العمل

طريقة عمل مرتبطة بكائن (object) معين. تنفيذها يغير حالة الكائن أو يجعله يؤدي وظيفة محددة.

Signup and view all the flashcards

تحديد الكائن

الجزء من طريقة العمل الذي يحدد الكائن الذي سيتم تنفيذها عليه.

Signup and view all the flashcards

مساحة المكدس

عندما يتم استدعاء طريقة add ، يتم إنشاء مساحة مكدس جديدة لكل متغير محلي (a و b و result). يتم إزالة هذه المتغيرات من مساحة المكدس عند الانتهاء من تنفيذ الطريقة.

Signup and view all the flashcards

مساحة الـ Heap

الموضوعات (objects) تُنشأ في مساحة الـ Heap وتبقى هناك حتى تصبح غير مستخدمة. ثم يقوم المُجمع القمامة بإزالتها من الذاكرة.

Signup and view all the flashcards

التوجيه غير المباشر

تتيح هذه التقنية الوصول إلى كائن واحد من خلال أسماء متعددة.

Signup and view all the flashcards

مُشاور

يسمح التوجيه غير المباشر للعديد من المتغيرات بالوصول إلى نفس مساحة الذاكرة دون إنشاء نسخ.

Signup and view all the flashcards

مُشاور (متعدد)

يمكن تغيير كائن واحد من خلال مُشاورتين مختلفتين.

Signup and view all the flashcards

الشيء (object)

ننظر إلى الأشياء ككيانات كاملة (مثل ``السيارة'') بدلاً من التركيز على مكوناتها.

Signup and view all the flashcards

المكون (component)

مُكوّن هو جزء من كائن أكبر.

Signup and view all the flashcards

مُكوّن (component)

تُشكل المكونات معًا كيانًا متكاملًا (object).

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

تطبيق تعدد الأشكال

تتيح لنا ميزة تعدد الأشكال إنشاء طرق أو متغيرات مرجعية تتصرف بشكل مختلف في سياقات برمجة مختلفة.

Signup and view all the flashcards

تعدد الأشكال والوراثة

تُكمل ميزة تعدد الأشكال ميزة الوراثة .

Signup and view all the flashcards

الواجهة العامة (Public Interface)

الواجهة العامة هي ما يُمكّن الكائنات الأخرى من التفاعل مع كائن معين. على سبيل المثال، طرق start() أو stop().

Signup and view all the flashcards

الوظائف الداخلية (Internal Functioning)

من الناحية الداخلية، يُشير ذلك إلى التفاصيل والمكونات التي تجعل الكائن يعمل. مثال: عجلات ومحرك سيارة.

Signup and view all the flashcards

الفصل المادي (Physical Separation)

تُشير إلى فصل ما يُعرّض للكائنات الأخرى عما يُحتاجه الكائن للعمل. يُساعد هذا في تنظيم الكود وتقسيمه.

Signup and view all the flashcards

تركيب الكائنات (Object Composition)

علاقة بين كائنات حيث يحتوي كائن (التركيب) على كائنات أخرى (المكونات).

Signup and view all the flashcards

التبعية (Dependency)

لا يُمكن للمكونات أن توجد بشكل مستقلّ، وإنما تعتمد على الكائن المركّب.

Signup and view all the flashcards

الوصول (Access)

يُمكن الوصول إلى المكونات فقط من خلال الكائن المركّب.

Signup and view all the flashcards

علاقة الإعتماد (Dependence Relationship)

تُشير إلى وجود علاقة بين الكائنات ولكن يرتبط وجودهما معاً بدون أن يعتمد أحدهما تماماً على وجود الآخر.

Signup and view all the flashcards

أنواع العلاقات (Types of Relations)

تُشير إلى أنّ بعض الكائنات تُستعمل مع بعضها البعض من خلال تَــ طرق التوصيل مثل الرجوع إلى المعلومات. فمثلاً يُمكن أن يكون لدى مُكتبة مُعرّف لمؤلف كتاب معين تُشير ذلك إلى علاقة عَــ بينهما.

Signup and view all the flashcards

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

البرمجيات تعمل مع البيانات. لفهم واستخدام البيانات بشكل فعال، يجب عليك فهمها وتحليلها وتحديثها وتخزينها. كيف تدير كل هذه البيانات؟ مع البرمجة الموجهة للكائنات (OOP)! تسمح لك OOP بتنظيم البيانات والإجراءات التي تعمل عليها بطريقة واضحة ومفهومة. بمجرد إعداد فئات وكائنات البيانات الضرورية، يمكنك العمل مع البيانات بطريقة منطقية.

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

هل يمكن أن تكون للعديد من الكائنات نفس السمة؟

يمكن أن تنطبق السمات على العديد من الكائنات المختلفة (مثل الشجرة والسيارة لهما لون).

Signup and view all the flashcards

خاصية (Attribute) في OOP

في البرمجة الشيئية، خاصية (Attribute) هي سمة مميزة لجسم (Object)، مثل لون السيارة أو بلد المنشأ.

Signup and view all the flashcards

طريقة (Method) في OOP

في البرمجة الشيئية، طريقة (Method) هي فعل أو سلوك يمكن أن يقوم به الجسم (Object). مثل: "القيادة" بالنسبة للسيارة، أو "التعلم" بالنسبة للطالب.

Signup and view all the flashcards

التواصل بين الأجسام (Objects) في OOP

في البرمجة الشيئية، التواصل بين الأجسام (Objects) يحدث عبر إرسال رسائل (Messages) من جسم لآخر، مثل ارسال طلب من الجسم "A" للجسم "B" للقيام بعمل معين.

Signup and view all the flashcards

الوراثة (Inheritance) في OOP

في البرمجة الموجهة للكائنات ، "الوراثة" (Inheritance) هي مفهوم يسمح بإنشاء فئة جديدة (الفئة الفرعية) من فئة موجودة (الفئة الأم)، حيث ت ورث الفئة الفرعية خصائص وأساليب الفئة الأم.

Signup and view all the flashcards

الفئة الأم (Superclass) في OOP

في البرمجة الموجهة للكائنات ، "الفئة الأم" (SuperClass) هي الفئة التي منها تنشأ الفئات الفرعية (SubClass) ، وتُعد النُموذج الأصل الذي تستفيد منه الفئات الفرعية.

Signup and view all the flashcards

الفئة الفرعية (Subclass) في OOP

في البرمجة الموجهة للكائنات ، "الفئة الفرعية" (Subclass) هي فئة مستمدة من فئة أخرى (الفئة الأم) ، وهي ترث خصائص وأساليب الفئة الأم.

Signup and view all the flashcards

التغليف (Encapsulation) في OOP

في برمجة الكائنات، "التغليف" (Encapsulation) هو مفهوم يحمي بيانات كائن من الوصول غير المرغوب فيه، و يُعرف أيضًا بـ "الاخفاء" (Information Hiding) ، حيث تُستخدم " الطرق " (Methods) للوصول إلى البيانات.

Signup and view all the flashcards

الربط المتأخر (Late Binding) في OOP

في OOP، "الربط المتأخر" (Late Binding) هو عملية تحديد " الطريقة " (Method) الخاصة بجسم (Object) المُرتبط بأحد الأنواع (Classes) فقط في وقت " تنفيذ " الكود، لا في وقت " التحويل " .

Signup and view all the flashcards

Study Notes

فصل 1: المبادئ الأساسية للعلوم الحاسوبية

  • يصف هذا الفصل المبادئ الأساسية للعلوم الحاسوبية، مع التركيز على مفهوم الكائنات في البرمجة الموجّهة بالكائنات.
  • تُستخدم البيانات بشكلٍ فعّالٍ لفهمها، وتحليلها، وتحديثها، وتخزينها.
  • تُنظّم البرمجة الموجّهة بالكائنات البيانات والإجراءات التي تُنفّذ عليها بطريقة واضحة ومفهومة.
  • بعد إنشاء فئات المُعطيات والكائنات، يمكن العمل مع البيانات منطقيًّا.

المقدمة (2)

  • في البرمجة المُوجّهة بالكائنات، ينصبّ التركيز على مفهوم الكائنات.
  • يُمثّل الكائن وحدةً مستقلةً تجمع بين المُعطّيات والسلوك.
  • تشتمل مُعطّيات الكائن على متغيّرات تُسمّى الحقول أو الصفات.
  • تشمل تصرّفات الكائن وظائف تُنفّذ على مُعطّيات الكائن.
  • تُعرّف هذه الوظائف سلوك الكائن.
  • لكلّ كائن هويّة تميّزه عن غيره.
  • الحقول والصفات هي أساس المُعطّيات، والسلوك هو أساس تصرّفات الكائن.

الثلاثي <الكائن، الصفة، القيمة>

  • يُستخدم الثلاثي < الكائن، الصفة، القيمة > لوصف العالم من خلال الكائنات.
  • الكائن: يُعرّف أيّ شيء يمكن تمييزه أو التعرف عليه، ويشمل الأشياء المادية وأيضًا المفاهيم المُجرّدة.
  • الصفة: تُميّز الكائنات، وتُعطيها خصائص مميزة، مثل اللون، والسنّ، والحجم.
  • القيمة: قيمة كل صفة.

مثال على الثلاثي <الكائن، الصفة، القيمة>

  • يُوضّح هذا المثال كيف يتم تمثيل الكائن "الطالب" بواسطة خصائصه وقيمها
  • الطالب هو كائن أساسي
  • يمكن أن تكون الخصائص (الحقول) هي: الرقم الجامعي، الاسم، العمر، العنوان، رقم الهاتف.

ما هي البرمجة المُوجّهة بالكائنات؟

  • تُنظّم البرمجة المُوجّهة بالكائنات التعليمات البرمجية حول البيانات، والمعروفة بـ "الكائنات"، بدلاً من الوظائف والإجراءات.
  • تُبسّط البرمجة المُوجّهة بالكائنات تطوير البرامج من خلال تمكين المستخدم من نمذجة أي بيانات يحتاجها، والعمل معها منطقيًا.
  • تُعرّف فئات المُعطيات نموذج البيانات وتُقدّم خططًا بسيطة قابلة لإعادة الاستخدام لإنشاء كائنات.
  • تسمح لنا بتصميم العالم من حولنا بطريقة بديهية، و تُساعدنا البرمجة المُوجّهة بالكائنات على تحقيق المرونة والهيكلية في البرامج.

ما هو الكائن؟

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

تخزين الكائنات في الذاكرة

  • يتم تخصيص مساحة ذاكرة محددة لكل كائن تم إنشاؤه في البرنامج.
  • أنواع البيانات الأساسية تُستخدم لتبسيط إدارة الذاكرة.
  • أحجام محددة مسبقاً يتم تخصيصها لكل نوع من أنواع البيانات الأساسية.

مثال على حساب حجم الذاكرة المُطلوبة للكائن

  • يحتوي هذا المثال على بيانات يُمكن من خلالها حساب حجم الذاكرة
  • يتم حساب الحجم المُجمّع لكل معطى وحقل في الكائن.

المُشير إلى الكائن

  • كل كائن في البرنامج مُعطى اسم مميز (اسم الكائن) يُستخدم كمعرّف فريد.
  • اسم الكائن يُرتبط بشكل فريد بمعرف الذاكرة الخاص به.
  • كلّ كائن له معرّف ذاكرة فريد، مما يضمن عدم تكرار الكائنات في نفس المساحة.
  • مُشير الكائن متغير خاصّ يُخزّن مُعرّف الذاكرة للكائن.
  • تُخزّن في مساحة ذاكرة مُخصصة لأسماء الرموز. تُسمح بتحديد ما يصل إلى (2^32) عنوان فريد.
  • يمثّل المُشير عنوان الذاكرة الفعليّ للكائن، وهو ضروريّ للوصول إلى البيانات المُرتبطة بذاكرة الكائن والعمل معها بكفاءة.

الذاكرة المُكدّسة والذاكرة المُكدّسة (2)

  • يتم تخزين البيانات المؤقتة والبيانات المُتعلّقة بالأساليب داخل الذاكرة المُكدّسة.
  • يتم استخدام الذاكرة المُكدّسة لتخزين الأجسام المُؤقتة والحقول المُتعلقة بالأساليب.
  • تتم إزالة البيانات بعد انتهاء وظيفتها.
  • الذاكرة المُكدّسة مساحة ذاكرة أكبر تُستخدم لتخزين الكائنات.
  • تُدار تلقائيًا بواسطة لغة البرمجة Java، مما يضمن حذف الكائنات غير المستخدمة.

مثال على الذاكرة المُكدّسة

  • يوضح المثال كيفية إنشاء و حذف الكائنات في الذاكرة المُكدّسة.

مثال على الذاكرة المُكدّسة

  • يوضح المثال إنشاء وتحرير الكائنات في الذاكرة المُكدّسة.

الكائنات المتعددة لنفس الكائن

  • يُمكن الوصول إلى كائن واحد من خلال عدة مُشيرين.
  • يمكن أن تُمثّل المعرّفات المختلفة لكائن واحد نفس الكائن في الذاكرة.

الكائن في شكله السلبي

  • يُنظر إلى الكائن ككل، وليس بالجزء من مكوناته.
  • تُعرّف الكائنات بواسطة فئات.
  • الأجزاء الداخلية للكائن (مثل العجلة في السيارة) لا تُدرج في واجهة الكائن.
  • واجهة الكائن هي الطريقة التي يرتبط بها الكائن مع الكائنات الأخرى (مثل طريقة start() وstop()في كائن السيارة).
  • يُحافظ الفصل بين هذه الجوانب على تنظيم التعليمات البرمجية وسهولة صيانتها.

تكوين الكائن

  • يشمل تكوين الكائن كائنًا رئيسيًا يحتوي على كائنات أخرى.
  • الاعتماد: لا يمكن لِلُجزء من الكائن أن يعمل مُنفردًا.
  • الدخول: تُتاح الوصول إلى مكونات الكائن عن طريق الكائن الرئيسي.
  • يُوفّر مثال المنزل (كائن مركّب) يحتوي على غرف (كائنات منفصلة).

علاقة التبعية

  • الكائنات المتصّلة لكن وجود كائن واحد لا يرتبط بوجود الآخر.
  • مثال: الركاب في السيارة يعتمدون على السيارة لكن يستطيعون أن يكونوا مُنفردين.

طبيعة الكائن النشط

  • الكائنات ليست ثابتة، فهي مُتنقّلة و قابلة للتغيير.
  • تتفاعل الكائنات مع الأحداث، كالردود على الإشارات.
  • الكائنات تتغيّر حالتها، مما يؤثّر على خصائصها.
  • تُعطي حيوية الكائن أهميّة و تعقيداً للبرنامج بسبب قدرته على التغيير والتفاعل مع البيئة.

حالة الكائن

  • تُعرّف حالة الكائن بحالته المُحدّثة.
  • تُغيّر حالة الكائن من خلال تغيير قيم المُعطّيات.
  • هوية الكائن مُستقلة عن قيم المُعطّيات.
  • يتم تحديث قيم البيانات في الذاكرة بدون تغيير عنوان الكائن.
  • يحتفظ الكائن بخصائصه حتى يُحذف من الذاكرة.

دورة حياة الكائن

  • إن دورة حياة الكائن تُمثّل سلسلة من التغييرات في حالة الكائن من الإنشاء إلى الحذف.
  • يمر الكائن بمراحل مختلفة: إنشاء، استخدام، تغيير، وتدمير.
  • يتم إرجاع حالة الكائن إلى القيم الأولية.
  • يتم إزالة الكائن من الذاكرة عندما لم يعد مُطلوب.

المسؤلية

  • يتمّ التحكم في تغييرات حالة الكائن من خلال العمليات.
  • مثل تغيير اللون في ضوء المرور.
  • العمليات تُحدّث قيم الصفات.

التمرين

  • كيف يؤثر العلاقة التكوين بين الكائنات على إدارة الذاكرة في البرنامج المُوجّه بالكائنات؟

الاختبارات الموضوعيّة

  • يحتوي على مجموعة من الأسئلة المُختارة عن المبادئ المُتعلّقة بالكائنات.
  • تشمل أنواع الكائنات وكيفية تفاعلها وتصريفاتها.

المقدمة لفكرة الفئة

  • الفئة نموذج أو مخطط يُعرّف شكل الكائن.
  • تفصّل الفئة بنية البيانات وكيفية التعامل معها.
  • تُسمى البيانات داخ الكائن مُتغيّرات الحالة.
  • تعرّف الفئات جزأين أساسيين للكائن: البيانات المُمثلة بواسطة مُتغيّرات الحالة، والأفعال تُعرّف بواسطة الأساليب.
  • تُعرّف المُتغيّرات خارج الأساليب، وتُعتبر جزءًا من الفئة.
  • كل كائن من كائنات الفئة لديه نسخة خاصة به من المتغيّرات.

المقدمة لفكرة الفئة (2)

  • تُستخدم الفئة كنموذج لإنشاء العديد من الكائنات.
  • مثال على فئة ناقل:
    • يحتوي على مُتغيّر (حقل) لحفظ عدد الركّاب.
  • يوجد أساليب (وظائف) للتعامل مع هذا الحقل (قراءة أو تغيير قيمته).

مُنشئ الفئة

  • مُنشئ الفئة هي طريقة خاصة في الفئة تُستدعى عند إنشاء كائن جديد.
  • تعمل على تهيئة خصائص الكائن.
  • يوفّر مُنشئ الفئة وسيلة لإنشاء مثيلات من الفئة، ولتحقيق المميزات وتنفيذ الأفعال المطلوبة من داخل البرنامج.

طريقة الأداء

  • هي طريقة مُخصصة للحصول على قيمة الصفة.
  • مثال على طريقة للحصول على قيمة الصفة: الحصول على القيمة من خاصية (حقل) محددة.

طريقة الاضافة

  • هي طريقة مُخصصة لتغيير قيمة الصفة.
  • مثال على طريقة إضافة قيمة لخاصية (حقل) معينة.

مثال على مُثيلات الكائن

  • يُوضح كيفية إنشاء كائن من فئة محددة.
  • يُوضّح المثال إنشاء كائن من فئة معينة باستخدام الكلمة المُفتاحية "new".

المُتغيّرات المُجرّدة والعالمية

  • يُشار إلى المُتغيّرات داخل الفئة لكن خارج المُنشئ أو الوسائل بأنها المُتغيّرات المُجرّدة.
  • كل مُثال من كائنات الفئة لديه نسخة خاصة من المُتغيّرات المُجرّدة.
  • أمثلة عن هذه المُتغيّرات: عدد الركاب

المُتغيّرات المُجرّدة والعالمية (2)

  • تقسم المُتغيّرات إلى نوعين: مُتغيّر الحالة، مُتغيّر ثابت.
  • مُتغيّر الحالة: يُربط بمثال معيّن من الكائن. (مثال: عدد الركاب في السيارة).
  • مُتغيّر ثابت: يُربط بالفئة نفسها، وليست بنسخ معيّنة من الكائنات.
  • يُشار إلى المُتغيّرات الثابتة بكلمة مُفتاحية "static".

المُتغيّرات المُجرّدة والعالمية (3)

  • المُتغيّرات الثابتة تُخصّص عند تحميل الفئة.
  • قيمها لا تتغير مع إنشاء كائن جديد.
  • يمكن الوصول إليها مباشرة من خلال اسم الفئة، لأنها جزء لا يتجزأ من الفئة.

الاختبارات الموضوعيّة (2)

  • (تضمنت أسئلة اختبار)

ما هو الوراثة؟

  • مفهوم أساسي في البرمجة المُوجّهة بالكائنات.
  • تُستخدَم الوراثة لإعادة استخدام الخصائص والطرق من فئة موجودة بالفعل.
  • تُنشئ فئة جديدة بناء على فئة موجودة.

هيكل الكائنات

  • تُصنّف الكائنات في هيكل هرمي يُظهر العلاقات فيما بينها.
  • مثال: "الهاتف" فئة عامة ، "iPhone 14" فئة مُحدّدة.
  • تُصنّف الفئات وفقًا لمستوى التخصّص.

الاعتماد على السياق

  • مستوى التفاصيل المطلوبة في الكلام يُحدّد السياق.
  • مثال: تحدث مع ميكانيكي عن إصلاح السيارة، يجب أن يكون الكلام مُحدد.
  • السياق يحدّد درجة التخصيص في التعبير.

تعدد الأشكال

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

تنفيذ الأسلوب على كائن محدّد (1)

  • تحتاج طريقة turnOn() إلى معرفة الكائن المُراد تطبيقها عليه.
  • النقطة (.) تربط الأسلوب بالكائن.
  • يُتيح الوصول إلى السمات المُرتبطة بالكائن فقط.

الكائنات تتواصل كيف؟

  • تتفاعل في البرمجة المُوجّهة بالكائنات لتُنفّذ المهام المُطلوبة.
  • مثال: المُدرّس يُعطي تعليمات، الطالب يُنفّذها.
  • الطرق المُخصّصة للكائنات (مثل تعليم الدرس أو الحفظ) هي العمليات التي تؤدّي إلى التفاعل بين الكائنات.

إيجاد مُستلم الرسالة

  • كيفية التعامل مع تحديد نوع الكائن الداخل عبر الطريقة.
  • مثال: فئة "سيارة" لتحديد إذا كان الكائن سيارة داخل فئة "سوق".

إيجاد مُستلم الرسالة (2)

  • تحسين عملية تحديد الكائن لتبسيطها.
  • مُساعدة الكائن في الحفاظ على إشارة الكائن الرئيسيّ الذي ينتمي إليه.

Studying That Suits You

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

Quiz Team

Description

هذا الاختبار يستعرض المفاهيم الأساسية للبرمجة الكائنية، بما في ذلك الفروق بين الكائنات والسمات وأهمية الوظائف والواجهات. سيساعدك على فهم كيف تعمل الكائنات وكيف تتفاعل مع بعضها البعض.

More Like This

Use Quizgecko on...
Browser
Browser