لغات-البرمجة-الشيئية-الكينونية-oop

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

إذا كنت من الأشخاص الذين بدأوا بالدخول إلى عالم البرمجة، فأنت على الأغلب سمعت بما يسمى البرمجة كائنية التوجيه أو البرمجة الشيئية OOP. فما هي البرمجة الشيئية؟ ما هي مبادئها وفوائدها؟

المحتويات:

1. ما هي البرمجة الشيئية OOP؟

2. بنية البرمجة الشيئية OOP.

3. المبادئ الرئيسية لـ OOP.

4. أمثلة على لغات برمجة OOP.

5. ما هي فوائد OOP؟


1. ما هي البرمجة الشيئية OOP؟

البرمجة كائنية التوجيه أو البرمجة الشيئية (OOP) Object-Oriented Programming هي نموذج برمجة حاسوبية ينظم تصميم البرامج حول البيانات أو الكائنات، بدلاً من الوظائف والمنطق. يمكن تعريف الكائن Object على أنه حقل بيانات له سمات وسلوك فريد.

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

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

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

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


2. بنية البرمجة الشيئية OOP.

تتضمن البنية أو اللبنات الأساسية للبرمجة الشيئية ما يلي:

  • الفئات Classes.

وهي أنواع بيانات معرّفة من قبل المستخدم، وتعمل كمخطط للكائنات Objects والسمات Attributes والطرق Methods.

  • الكائنات Objects.

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

  • الطرق Methods.

وهي وظائف Functions يتم تحديدها داخل فئة Class تصف سلوكيات الكائن Object. تبدأ كل طريقة مضمنة في تعريفات الفئات بمرجع إلى كائن مثيل. بالإضافة إلى ذلك، تسمى الإجراءات الفرعية الموجودة في كائن ما بأساليب المثيل Instance Methods. يستخدم المبرمجون طرقًا لإعادة الاستخدام أو الاحتفاظ بوظائف مغلفة داخل كائن واحد في كل مرة.

يتم تحديد السمات Attributes في قالب الفئة وهي تمثل حالة الكائن. ستحتوي الكائنات على بيانات مخزنة في حقل السمات. تنتمي سمات الفئة إلى الفئة نفسها.

إقرأ أيضاً… ما هي أفضل لغات برمجة الألعاب الإلكترونية؟


3. المبادئ الرئيسية لـ OOP.

تعتمد البرمجة كائنية التوجيه أو الشيئية OOP على المبادئ التالية:

  • التغليف Encapsulation.

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

  • التجريد Abstraction.

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

  • التوريث Inheritance.

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

  • تعدد الأشكال Polymorphism.

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

إقرأ أيضاً… أفضل 10 لغات برمجة يستخدمها الهاكر الأخلاقي Ethical Hacker.


4. أمثلة على لغات برمجة OOP.

بينما يُنسب الفضل إلى لغة البرمجة Simula باعتبارها أول لغة برمجة موجهة للكائنات، يتم استخدام العديد من لغات البرمجة الأخرى مع OOP اليوم. لكن بعض لغات البرمجة تقترن بالبرمجة كائنية التوجيه أو الشيئية OOP أفضل من غيرها. على سبيل المثال، لغات البرمجة التي تعتبر لغات OOP نقية تعامل كل شيء ككائنات.

تم تصميم لغات البرمجة الأخرى بشكل أساسي لـ OOP، ولكن مع تضمين بعض العمليات الإجرائية. على سبيل المثال، تشمل لغات OOP الشائعة:

  • Ruby.
  • Scala.
  • JADE.
  • Emerald.
  • Java.
  • Python.
  • C++.
  • Visual Basic .NET.
  • JavaScript.

إقرأ أيضاً… ما هي أفضل 5 لغات برمجة في عام 2022؟


5. ما هي فوائد OOP؟

تشمل فوائد لغات البرمجية الشيئية OOP ما يلي:

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

مقالات مرتبطة...

  • سمكة القرش الأبيض.

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

  • إيجابيات وسلبيات نظام التشغيل لينوكس (Linux)؟

    على العكس من نظام التشغيل Windows و iOS، فإن نظام التشغيل لينوكس Linux هو نظام تشغيل مفتوح المصدر، مما يعني أنه يمكن لأي شخص رؤية كود المصدر وإعادة تصميمه وفقاً لاحتياجاته، لينوكس أيضاً مجاني للتثبيت، مما يعني أنك لست بحاجة إلى ترخيص لاستخدامه، لكن في المقابل فهو يمتلك مجموعة إيجابيات وسلبيات سنناقشها تالياً. إيجابيات نظام…

  • ما هو إسم المجال (Domain Name)؟

    إسم المجال (Domain Name) هو اسم فريد يحدد موقع الويب. على سبيل المثال، اسم المجال الخاص بموقع ثقافاتي بمصطلحات التقنية هو “Thaqafati.com”. يحتوي كل موقع ويب على اسم مجال يعمل كعنوان، ويتم استخدامه للوصول إلى موقع الويب. شرح إسم المجال. كلما قمت بزيارة موقع ويب، يظهر اسم المجال في شريط العناوين في متصفح الويب. بعض…

  • ما هو تعريف متصفح الويب؟

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

  • تعريف الإنترنت.

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

  • ما هي أسباب ارتفاع صوت مروحة الكمبيوتر؟ وكيفية حلها.

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