logo

مفاهيم جافا OOPs

  1. البرمجة الشيئية
  2. الاستفادة من OOPs على لغة البرمجة الموجهة نحو الإجراءات
  3. الفرق بين لغة البرمجة كائنية التوجه ولغة البرمجة الكائنية.

في هذه الصفحة سوف نتعرف على أساسيات OOPs. البرمجة كائنية التوجه هي نموذج يوفر العديد من المفاهيم، مثل ميراث , ربط البيانات , تعدد الأشكال ، إلخ.

بداية تعتبر أول لغة برمجة كائنية التوجه. يُعرف نموذج البرمجة الذي يتم فيه تمثيل كل شيء ككائن بأنه لغة برمجة موجهة للكائنات حقًا.

حديث قصير تعتبر أول لغة برمجة موجهة للكائنات حقًا.

اللغات الموجهة للكائنات الشائعة هي جافا , ج# , بي أتش بي , بايثون , سي ++ ، إلخ.

الهدف الرئيسي للبرمجة الموجهة للكائنات هو تنفيذ كيانات العالم الحقيقي، على سبيل المثال، الكائن، والفئات، والتجريد، والميراث، وتعدد الأشكال، وما إلى ذلك.

Java int كسلسلة

OOPs (نظام البرمجة الشيئية)

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

وبصرف النظر عن هذه المفاهيم، هناك بعض المصطلحات الأخرى التي تستخدم في التصميم الموجه للكائنات:

  • اقتران
  • تماسك
  • منظمة
  • تجميع
  • تعبير
مفاهيم جافا OOPs

هدف

كائن جافا

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

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

مثال: الكلب هو كائن لأنه له حالات مثل اللون والاسم والسلالة وما إلى ذلك بالإضافة إلى سلوكيات مثل هز الذيل والنباح والأكل وما إلى ذلك.

فصل

جمع الكائنات يسمى الطبقة. إنه كيان منطقي.

يمكن أيضًا تعريف الفئة على أنها مخطط يمكنك من خلاله إنشاء كائن فردي. الطبقة لا تستهلك أي مساحة.

ميراث

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

تعدد الأشكال في جاوة

تعدد الأشكال

لو يتم تنفيذ مهمة واحدة بطرق مختلفة ، ومن المعروف باسم تعدد الأشكال. على سبيل المثال: إقناع العميل بشكل مختلف، برسم شيء ما، على سبيل المثال، شكل، مثلث، مستطيل، إلخ.

في Java، نستخدم طريقة التحميل الزائد وتجاوز الطريقة لتحقيق تعدد الأشكال.

مثال آخر يمكن أن يكون التحدث بشيء ما؛ على سبيل المثال، القطة تتحدث بمواء، والكلب ينبح، وما إلى ذلك.

التجريد

إخفاء التفاصيل الداخلية وإظهار الوظائف يُعرف بالتجريد. على سبيل المثال مكالمة هاتفية، لا نعرف المعالجة الداخلية.

في Java، نستخدم الطبقة المجردة والواجهة لتحقيق التجريد.

التغليف في مفاهيم Java OOPs

التغليف

يُعرف ربط (أو تغليف) التعليمات البرمجية والبيانات معًا في وحدة واحدة بالتغليف . على سبيل المثال، كبسولة، وهي مغلفة بأدوية مختلفة.

فئة جافا هي مثال التغليف. Java Bean هي فئة مغلفة بالكامل لأن جميع أعضاء البيانات خاصون هنا.

اقتران

يشير الاقتران إلى المعرفة أو المعلومات أو التبعية لفئة أخرى. ينشأ عندما تكون الطبقات على علم ببعضها البعض. إذا كان لدى الفصل معلومات تفصيلية عن فصل آخر، فسيكون هناك اقتران قوي. في Java، نستخدم المعدلات الخاصة والمحمية والعامة لعرض مستوى الرؤية للفئة والطريقة والحقل. يمكنك استخدام واجهات للاقتران الأضعف لأنه لا يوجد تنفيذ ملموس.

تسطير تخفيض السعر

تماسك

يشير التماسك إلى مستوى المكون الذي ينفذ مهمة واحدة محددة جيدًا. يتم تنفيذ مهمة واحدة محددة جيدًا بطريقة متماسكة للغاية. ستؤدي الطريقة الضعيفة التماسك إلى تقسيم المهمة إلى أجزاء منفصلة. تعد حزمة java.io حزمة متماسكة للغاية لأنها تحتوي على فئات وواجهة مرتبطة بالإدخال/الإخراج. ومع ذلك، فإن الحزمة java.util هي حزمة ضعيفة التماسك لأنها تحتوي على فئات وواجهات غير مرتبطة.

منظمة

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

  • واحد لواحد
  • واحد لكثير
  • كثير إلى واحد، و
  • الكثير للكثيرين

دعونا نفهم العلاقة مع الأمثلة في الوقت الحقيقي. على سبيل المثال، يمكن أن يكون لدولة واحدة رئيس وزراء واحد (واحد إلى واحد)، ويمكن أن يكون لرئيس الوزراء العديد من الوزراء (واحد إلى كثير). أيضًا، يمكن أن يكون لدى العديد من أعضاء البرلمان رئيس وزراء واحد (متعدد إلى واحد)، ويمكن أن يكون لدى العديد من الوزراء العديد من الوزارات (متعدد إلى كثير).

يمكن أن يكون الارتباط غير اتجاهي أو ثنائي الاتجاه.

تجميع

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

تعبير

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


الاستفادة من OOPs على لغة البرمجة الموجهة نحو الإجراءات

1) تعمل OOPs على تسهيل التطوير والصيانة، بينما في لغة البرمجة الموجهة نحو الإجراءات، ليس من السهل إدارتها إذا زاد حجم التعليمات البرمجية مع زيادة حجم المشروع.

2) توفر OOPs إخفاء البيانات، بينما في لغة البرمجة الموجهة نحو الإجراءات، يمكن الوصول إلى البيانات العالمية من أي مكان.

البيانات العالمية

الشكل: تمثيل البيانات في البرمجة الموجهة نحو الإجراءات


بيانات الكائن

الشكل: تمثيل البيانات في البرمجة الشيئية

3) توفر OOPs القدرة على محاكاة أحداث العالم الحقيقي بشكل أكثر فعالية. يمكننا تقديم حل لمشكلة الكلمة الحقيقية إذا كنا نستخدم لغة البرمجة كائنية التوجه.


ما الفرق بين لغة البرمجة الشيئية ولغة البرمجة الشيئية؟

تتبع لغة البرمجة القائمة على الكائنات جميع ميزات OOPs باستثناء الوراثة. تعد JavaScript وVBScript أمثلة على لغات البرمجة القائمة على الكائنات.



هل تعرف؟
  • هل يمكننا التحميل الزائد على الطريقة الرئيسية؟
  • يُرجع مُنشئ Java قيمة، ولكن ماذا؟
  • هل يمكننا إنشاء برنامج بدون الطريقة الرئيسية؟
  • ما هي الطرق الستة لاستخدام هذه الكلمة الرئيسية؟
  • لماذا لا يتم دعم الميراث المتعدد في Java؟
  • لماذا استخدام التجميع؟
  • هل يمكننا تجاوز الطريقة الثابتة؟
  • ما هو نوع الإرجاع المتغير؟
  • ما هي الاستخدامات الثلاثة للكلمة الرئيسية Java super؟
  • لماذا استخدام كتلة مُهيئ المثيل؟
  • ما هو استخدام المتغير النهائي الفارغ؟
  • ما هي العلامة أو الواجهة الموسومة؟
  • ما هو تعدد الأشكال في وقت التشغيل أو إرسال الطريقة الديناميكية؟
  • ما هو الفرق بين الربط الثابت والديناميكي؟
  • كيف يمكن إسقاط البث في جافا؟
  • ما هو الغرض من منشئ خاص؟
  • ما هو استنساخ الكائنات؟
ماذا سنتعلم في مفاهيم OOPs؟
  • ميزة OOPs
  • اصطلاح التسمية
  • الكائن والفئة
  • طريقة التحميل الزائد
  • البناء
  • الكلمة الأساسية الثابتة
  • هذه الكلمة الرئيسية مع ستة استخدام
  • ميراث
  • تجميع
  • تجاوز الأسلوب
  • نوع الإرجاع المتغير
  • الكلمة الرئيسية الفائقة
  • كتلة مُهيئ المثيل
  • الكلمة الأساسية النهائية
  • فئة مجردة
  • واجهه المستخدم
  • تعدد الأشكال في وقت التشغيل
  • الربط الثابت والديناميكي
  • Downcasting مع مثيل المشغل
  • طَرد
  • معدّلات الوصول
  • التغليف
  • استنساخ الكائنات