![]() |
ما هي البرمجة الكائنية -OOP ؟ وأين يستخدم ؟ |
البرمجة الكائنية أو هي اختصار لـ البرمجة الشيئية الموجهة، ولها أسماء متعددة تم ترجمتها من المصطلح -Object Oriented Programming- ولكنها تختص بالأشياء أو الكائن object وساعطيك تشبيه كل ما في الوجود عبارة عن كائنات.
فعلي سبيل المثال الإنسان كائن حي والسيارة كائن غير حي تتكون السيارة من موتور وهيكل خارجي وعجل ،ومكونات أخرى يمكن تمثيل السيارة بما يسمى الـ class وهو القالب العام للسيارات ومن القالب العام يمكنك انشاء objects بمعنى سيارة مرسيدس او بي ام دبليو وتويوتا وغيرها من السيارات.
لكل سيارة منهم مميزات مختلفة عن السيارة الاخرى فربما تحتوي المرسيدس على إطارات من نوع خاص لضمان الثبات على الارض وتحتوي البي ام دبليو على نظام تشغيل حاسوبي يضمن الرفاهية في السيارة.
محتويات المقال
- هي البرمجة الكائنية؟
- ما هو تعريف الكائن في البرمجة؟
- من الأمثلة على لغات البرمجة الكائنية؟
- أمثلة من الواقع على البرمجة الكائنية OOP؟
- ما هي فوائد Oop؟
- لماذا تستخدم البرمجة الموجهة للكائنات؟
- ما هي اللغات التي تدعم Oop؟
- ما هي العناصر التي يجب توافرها في البرمجة الكائنية؟
- ما هو التجريد في Oop؟
- من الفروقات بين البرمجة الإجرائية و البرمجة بالكائنات؟
- في ماذا تستخدم لغة البرمجة C؟
- كيف أتعلّم البرمجة الكائنية OOP؟ وما هي المصادر لذلك؟
ما هي البرمجة الكائنية؟
البرمجة الكائنية (OOP) هي أسلوب برمجة يصور العالم الحقيقي كمجموعة من الكائنات. كل كائن له خصائصه (البيانات) وسلوكياته (الوظائف)
ما هو تعريف الكائن في البرمجة؟
البرمجة كائنية التوجُّه أو البرمجة الشيئية (بالانجليزية: Object-oriented programming - OOP) ويطلق عليها أحيانا اسم برمجة كائنية المنحى أو برمجة موجهة نحو الكائنات (أو العناصر) وهي نمط برمجة متقدم، وفيه يقسم البرنامج إلى وحدات تسمى الكائنات (Objects)، كل كائن هو حزمة (تعليب) من البيانات (المتغيرات والثوابت) والطرق ووحدات التنظيم وواجهات الاستخدام.
ويُبنى البرنامج بواسطة استخدام الكائنات وربطها مع بعضها البعض وواجهة البرنامج الخارجية باستخدام هيكلية البرنامج وواجهات الاستخدام الخاصة بكل كائن.
ما هو تعريف الكائن في البرمجة؟
الكائن هو وحدة أساسية في البرمجة الكائنية. يمثل الكائن شيءًا في العالم الحقيقي، مثل سيارة أو شخص أو حيوان.
أمثلة من الواقع على البرمجة الكائنية OOP؟
هناك مثال آخر غير مثال السيارة، وهو عملي أكثر وهو مربعات الحوار في الويندوز مثل مربع الحفظ للملفات ومربع الفتح للملفات كلاهما يختلف عن الآخر وكل منهما كائن مختلف object ولكن الاثنين تم عملهما من نفس ال class القالب، هذا القالب يحتوي على كل الادوات (الدوال Functions) التي منها يمكن إنشاء كائنات Objects مختلفة.
ويوجد في هذا القالب الـ class ما يسمى الدالة المدمرة والدالة المنشئة Destructor and Constructor والتي بواسطتها يمكن عمل الكائن object وإنهائه (فعندما تقوم بفتح المربع في نظام التشغيل فأنت تنشئة وعندما تغلقه فأنت تدمره كل هذا يتم في الذاكرة العشوائية RAM.
وفائدة التدمير خاصة حتى لا يبقى الكائن حي في الذاكرة ويشغل حيز لا فائدة منه يستغل الذاكرة ويضعف من قوة الكمبيوتر لاحظ أن هناك في لغات البرمجة مثل الجافا والسي #C وغيرها ما يسمى Garbage Collection وهي اداة تدمير ذاتي تفهم لوحدها ما يجب مسحه من كائنات تم انتهاء عملها في الذاكرة.
كما توجد الدوال الاخرى التي تقوم بإنشاء شكل مختلف لكل من مربع الحوار فتح وحفظ في القالب الاصلي ودوال اخرى للحفظ والفتح للملفات.
يذكرني هذا بما يسمى تصنيفات الحيوانات فهناك تصنيف الثدييات الطيور والبرمائيات والأسماك واللافقاريات هذا ما اتذكره اذا الحيوانات هو class كبير يمكن عمل classes أكثر دقة وهي التصنيفات الخمس ويمكن انشاء ال objects من خلال هذه القوالب الخمسة مثل سمكة زرقاء وسمكة ذات ذيل طويل و سمكة ذات أسنان حادة وغيرها لاحظ في افلام الرسوم المتحركة يتم عمل كائنات بهذا الأسلوب ويتم تشكيلها بواسطة دوال كثيرة تختلف باختلاف الشكل.
ما هي اللغات التي تدعم البرمجة الكائنية؟
تدعم العديد من لغات البرمجة البرمجة الكائنية، بما في ذلك لغات البرمجة الشائعة مثل:
- جافا
- ++C
- #C
- لغة البرمجة Python
- Ruby
- JavaScript
تعرف من هنا على لغة البرمجة Python
ما هي فوائد Oop؟
البرمجة الكائنية العديد من الفوائد، بما في ذلك:
- سهولة الاستخدام والصيانة: تجعل البرمجة الكائنية من السهل فهم وصيانة البرامج.
- إعادة الاستخدام: يمكن إعادة استخدام الكائنات في تطبيقات متعددة.
- القابلية للتوسيع: يمكن توسيع البرامج الكائنية بسهولة عن طريق إضافة كائنات جديدة.
- القابلية للاختبار: يمكن اختبار البرامج الكائنية بسهولة عن طريق اختبار الكائنات الفردية.
لماذا تستخدم البرمجة الموجهة للكائنات؟
تستخدم البرمجة الموجهة للكائنات في مجموعة واسعة من التطبيقات، بما في ذلك:
- تطوير الويب
- تطوير تطبيقات الجوال
- تطوير الألعاب
- تطوير أنظمة التشغيل
- تطوير البرامج الثابتة
ما هي العناصر التي يجب توافرها في البرمجة الكائنية؟
هناك أربعة عناصر أساسية يجب توافرها في البرمجة الكائنية، وهي:
- الكائنات Objects: الكائن هو وحدة أساسية في البرمجة الكائنية. يمثل الكائن شيءًا في العالم الحقيقي، مثل سيارة أو شخص أو حيوان.
- الخصائص Attributes : الخصائص هي البيانات التي يمتلكها الكائن.
- السلوكياتBehaviors : السلوكيات هي العمليات التي يمكن للكائن القيام بها.
- الفئات Classes : الفئة هي قالب يستخدم لإنشاء كائنات.
ترتبط هذه العناصر ببعضها البعض من خلال العلاقة بين الكائنات والفئات. يمكن إنشاء كائنات جديدة من خلال إنشاء نسخ من فئة.
فيما يلي شرح موجز لكل من هذه العناصر:
1.الكائنات Objects
الكائن هو وحدة أساسية في البرمجة الكائنية. يمثل الكائن شيءًا في العالم الحقيقي، مثل سيارة أو شخص أو حيوان.
كل كائن له خصائصه (البيانات) وسلوكياته (الوظائف). على سبيل المثال، يمكن أن يكون لدى الكائن "سيارة" الخاصية "السرعة" والسلوكية "القيادة".
2.الخصائص Attributes
الخصائص هي البيانات التي يمتلكها الكائن. يمكن أن تكون الخصائص بسيطة، مثل رقم أو سلسلة نصية، أو يمكن أن تكون معقدة، مثل مجموعة أو قائمة.
على سبيل المثال، يمكن أن يكون لدى الكائن "سيارة" الخاصية "السرعة" التي تكون نوعًا بسيطًا، أو يمكن أن يكون لديها الخاصية "المالك" التي تكون نوعًا معقدًا.
3.السلوكيات Behaviors
السلوكيات هي العمليات التي يمكن للكائن القيام بها. يمكن أن تكون السلوكيات بسيطة، مثل إضافة رقمين أو مضاعفة عدد، أو يمكن أن تكون معقدة، مثل تشغيل لعبة أو إنشاء ملف.
على سبيل المثال، يمكن أن يكون لدى الكائن "سيارة" السلوكية "القيادة" التي تأخذ كائن "سائق" كوسيطة وتعيد عدد الأميال التي تم قطعها.
4.الفئات Classes
الفئة هي قالب يستخدم لإنشاء كائنات. تحدد الفئة خصائص الكائن وسلوكياته.
على سبيل المثال، يمكن أن تكون الفئة "سيارة" تحدد الخاصية "السرعة" والسلوكية "القيادة".
من خلال استخدام الكائنات والفئات، يمكن للمبرمجين إنشاء برامج أكثر فاعلية وسهولة في الصيانة.
ما هو التجريد في Oop؟
التجريد هو القدرة على إخفاء التفاصيل غير المهمة عن المستخدم. في البرمجة الكائنية، يتم تحقيق التجريد باستخدام الفئات Classes.
التجريد في البرمجة الشيئية هو مفهوم يشير إلى إخفاء التفاصيل الداخلية لكائن أو فئة وتقديم واجهة أبسط لاستخدامه. يهدف التجريد إلى جعل البرمجة أكثر فهمًا وإدارةً عند استخدام الكائنات. عند استخدام التجريد بشكل صحيح، يمكن للمبرمجين التركيز على الواجهة الخارجية للكائن دون الحاجة إلى التعرف على كل التفاصيل الداخلية.
في سياق البرمجة الكائنية ( OOP - Object Oriented Programming)، يتم تحقيق التجريد عن طريق استخدام مفاهيم مثل الكلاسات Classes و الكائنات Objects. يمكن أن يقوم المبرمج بإنشاء كلاس (class) الذي يحدد سلوك وخصائص معينة، ثم يستخدم كائنات (objects) من هذا الكلاس دون الحاجة إلى معرفة تفاصيل تنفيذ الكلاس نفسه.
على سبيل المثال، إذا كان لديك كلاس يسمي "سيارة"، يمكنك إنشاء كائن "سيارة" دون الحاجة إلى معرفة كيف يتم تصنيع المحرك أو كيفية عمل نظام الفرامل. تتيح لك هذه التجريد تقديم واجهة برمجية بسيطة وفعالة لاستخدام الكائنات دون التفكير في كل التفاصيل التنفيذية.
من الفروقات بين البرمجة الإجرائية و البرمجة بالكائنات؟
- التركيز: تركز البرمجة الشيئية على الكائنات، بينما تركز البرمجة الإجرائية على الإجراءات.
- البيانات: في البرمجة الكائنية، يتم تخزين البيانات مع الإجراءات، بينما يتم تخزين البيانات بشكل منفصل عن الإجراءات في البرمجة الإجرائية.
- إعادة الاستخدام: تسهل البرمجة الشيئية إعادة استخدام الكائنات، بينما تتطلب البرمجة الإجرائية إعادة كتابة التعليمات البرمجية بشكل متكرر لإعادة استخدامها.
كيف أتعلّم البرمجة الكائنية OOP؟ وما هي المصادر لذلك؟
هناك العديد من الطرق لتعلم البرمجة الكائنية. يمكنك أخذ دورة تدريبية عبر الإنترنت أو حضور فصل دراسي في الكلية. هناك أيضًا العديد من الكتب والمقالات المتاحة والمجانية حول كيفية التعلم.
فيما يلي بعض المصادر التي يمكنك استخدامها لتعلم البرمجة الكائنية:
الدورات عبر الإنترنت:
- Object-Oriented Programming with Java by Udacity وهي دورة مجانية.
- Object-Oriented Programming with Python by Coursera وهي أيضا دورة مجانية.
- Object-Oriented Programming with C++ by edX
وفي النهاية،أتمنى أن أكون قد استطعت أن أقدم لكم بعض المعلومات المفيدة حول موضوع اليوم،وأتمنى لكم أيضا المزيد من النجاح والتوفيق فى طريق تعلم البرمجة.