البرمجة كائنية التوجه OOP
البرمجة كائنية التوجه OOP
البرمجة كائنية التوجه ( OOP ) هي اختصار ل ( Object Oriented Programming ) ، و هي نمط من أنماط البرمجة المتقدمة يتم استخدامها بشكل أوسع في برمجة التطبيقات و الأشياء ، وتعطي البرمجة كائنية التوجه للمبرمجين إمكانية إنشاء برامج هيكلية ( تتشابه مع الأشياء التي توجد في حياتنا اليومية ) . يعتد أسلوب البرمجة كائنية التوجه على تقسيم البرنامج إلى وحدات و التي تسمى ب الكائنات ( Objects ) . تتم البرمجة باستخدام تلك الكائنات و ربطها مع بعضها باستخدام هيكلية البرنامج .
الكائن ( Object )
لفهم مصطلح الكائن يجب عليك معرفة أن كل شيئ حولنا يمكن تسميته باسم كائن ، على سبيل المثال : الهاتف المحمول يعتبر كائن ، نعم ! فإن للهاتف المحمول مجموعة من الخصائص مثل أنه ( يعرض لك الصور - يعرض الفيدوهات - يجعلك تتصفح على الانترنت - يقوم بتشغيل تطبيق معين - يقوم بتشغيل لعبة ..... إلخ ) و أيضا للهاتف المحمول عدة متغيرات و منها ( لون الهاتف - نوع الهاتف - حجم الذاكرة - سرعة المعالج .... إلخ ) .
ال كلاس ( Class )
لنعد لمثال الهاتف المحمول المذكور في تعريف مفهوم الكائن ، فإن مصنع الهواتف المحمولة الذي ينشئ ذلك الهاتف بهذه المتغيرات و الخصائص يمتلك نموذج لهذه الهواتف تسمى ب ( Class ) و هو الخصائص المشتركة بين الكائنات ، فإن الذي يميز صنف الهواتف أن لها ( شكل مستطيل - شاشة للرؤية - سماعات - زر للقفل و غيرها ) ، و في بعض الأوقات يختلف كل كائن عن الآخر في خصائص معينة على سبيل مثال ( الحجم - الشكل - اللون و غيرها من الأشياء ) .
مميزات البرمجة كائنية التوجه
الوراثة ( Inheritance )
في البرمجة كائنية التوجه بإمكان الكائن وراثة أي كائن آخر بدون أن تتغير خصائص الموروث منه . مثال على ذلك : جميعنا نعرف صنف ال تابليت ( Tablets ) و هو صنف تم اقتباسه من صنف الهاتف المحمول حيث أن التابليت لديه نفس الخصائص الأساسية لدى صنف الهواتف المحمولة ، حيث أن التابليت يمكنه ( أن يقوم بتشغيل التطبيقات - التصفح على الانترنت و الخ ) . فهكذا تم توريث خصائص الهواتف المحمولة إلى خصائص التابليت .
تعدد الأشكال ( Polymorphism )
تعدد الأوجه ( الأشكال ) تعني بأن يتم استخدام ال ( Function ) بأشكال كثيرة و متعددة . بحيث أن تعطي البرمجة كائنية التوجه إمكانية استخدام نفس العملية ولكن لأهداف أخرى ، و بالتالي تصبح للعملية وجوه كثيرة و مختلفة . سبيل مثال على ذلك : صنف الهواتف المحمولة ، فتوجد منها أنواع متعددة تختلف معها الألوان و الأحجام و الأشكال و التصميم . فهكذا لكل صنف يوجد له العديد من الأشكال يختلف كل شكل عن الآخر في الخصائص و الصفات .
التغليف ( Encapsulation )
لنرجع إلى مثال الهاتف المحمول مره أخرى ، فنجد أن معظمنا ( كمستخدمين للهواتف ) لا نعرف شيئ عن طريقة عمل أجزاءها ، فلا نعرف كيف تعمل بطارية الهاتف أو كيف يتم انتاج الصوت من السماعات مثلاً .... الخ . فإننا حقاً غير مهتمين بكل هذه التفاصيل الدقيقه . ولكن كل ما يهمنا هو كيفية استخدام الهاتف لتنفيذ مهمة أو وظيفة معينة . يتم تطبيق نفس المفهوم على البرامج ، فهناك أيضاً صفات و خصائص يقوم المبرمج بعدم إظهارها للمستخدم .
التجريد ( Abstraction )
التجريد هو تعيين وصف برمجي لصنف معين و ينقسم إلى نوعان :
- تجريد البيانات ( Data Abstraction ) : و هي المسئولة عن التعرف علي صفات و خصائص الكائن .
- تجريد الخطوات ( Methods Abstraction ) : و هي تحديد الخطوات و العمليات البرمجية .
تعليقات
إرسال تعليق