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

هناك أربع مفاهيم أساسية ينبغى معرفتها لفهم البرمجة كائنية التوجه (oop) هذه سلسلة مقالات تشرح هذه المفاهيم بطريقة مبسطة ومختصرة

، يُعرف التغليف (Encapsulation) :

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

يمكن تمثيل التغليف في البرمجة الكائنية باستخدام الوصول (Access). يحدد الوصول إلى البيانات أو السلوك ما إذا كان يمكن الوصول إليه من خارج الكائن أم لا. هناك ثلاثة أنواع رئيسية من الوصول:

  • عام (Public): يمكن الوصول إلى البيانات أو السلوك من أي مكان في البرنامج.
  • خاص (Private): يمكن الوصول إلى البيانات أو السلوك فقط من داخل الكائن.
  • محمي (Protected): يمكن الوصول إلى البيانات أو السلوك من داخل الكائن ومن داخل الكائنات التي ترث من هذا الكائن.

يوفر التغليف العديد من الفوائد في البرمجة الكائنية، بما في ذلك:

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

التعليقات

اعتقد انه يجب على كل مبرمج فهم البرمجة كائنية التوجه لانها تحتوي على العديد من المفاهيم ايضا من بينها الوراثة (Inheritance)، والتجريد (Abstraction)، وتعدد الأشكال (Polymorphism)

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

التجريد هو عملية إخفاء التفاصيل غير الضرورية عن المستخدم، وإظهار فقط المعلومات المهمة. يساعد هذا في تبسيط التعامل مع الكائنات، وزيادة قابلية التوافق بينها. يمكن تطبيق التجريد باستخدام الواجهات (Interfaces) أو صفوف مجردة (Abstract Classes).

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

مرحبا جهاد

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

شكرا لك