برمجة كائنية التوجه
من ويكيبيديا، الموسوعة الحرة
لغات برمجة | |
لغات كائنية | |
سي++ ++C |
سي شارب #C |
دلفي Delphi |
ادا 95 Ada |
جافا Java |
سمولتوك Smalltalk |
روبي Ruby |
|
لغات تقليدية | |
بيسيك Basic |
سي C |
باسكال Pascal |
كوبول COBOL |
فورتران FORTRAN |
أسمبلي Assembly |
لغات وظيفية | |
ليسب Lisp |
برولوغ Prolog |
بايثون Python |
باريس Paris |
هندسة برامج |
البرمجة كائنية المنحى Object-oriented programming - OOP (ويطلق عليها أحيانا اسم: برمجة غرضية المنحى ، أو برمجة شيئية مع أن هذه الأخيرة لا تعتبر ترجمة محبذة) عبارة عن نمط برمجة متقدم، وفيه يقسم البرنامج إلى وحدات تسمى الكائنات (Objects)، كل كائن عبارة عن حزمة (تعليب) من البيانات (المتغيرات والثوابت) والدوال ووحدات التنظيم وواجهات الاستخدام . ويتم بناء البرنامج بواسطة استخدام الكائنات وربطها مع بعض وواجهة البرنامج الخارجية باستخدام هيكلية البرنامج وواجهات الاستخدام الخاصة بكل كائن.
أسماء عربية أخرى:
- برمجة موجهة
- برمجة كائنية (برمجة كينونة)
- برمجة كائنية التوجه
- برمجة غرضية التوجه
- برمجة كائنية المنحى (أو المنحى)
- برمجة بالعناصر
البرمجة الكائنية عبارة عن نمط برمجة متخصص في المفاهيم التالية:
- الكائنات Objects - حزم وتعليب البيانات والدوال الوظيفية معاً في وحدات تعمل ضمن برنامج نشط. الكائنات هي أساس هيكلية برمجة الحاسوب الكائنيّة.
- التجريد Abstraction - قدرة البرنامج على تجاهل بعض واجهات المعلومات المتلاعبة، أي التركيز على المفهوم الأساسي للكائن وهيكليته النظرية وتجريدة من طريقة العمل النهائية والتوجهات الخارجية.
- التغليف Encapsulation - التأكد أن المستخدم لا يستطيع أن يغير البيانات الداخلية لكائن بطريقة مفاجئة، فقط دوال الكائن الداخلية يسمح لها بتعديل حالة الكائن وبياناته. أي أن لايمكن التلاعب بالكائن وتغير معلوماته بأي طريقة بل أن هناك واجهة أستخدام خاصة يضعها المبرمج ومن خلالها يمكن تغيير بيانات الكائن الداخلية وحالته.
- تعدد الأوجه Polymorphism - بدلاً من استدعاء الإجراءات الفرعية مباشرة، تستطيع البرمجة الشيئية إرسال رسائل، الإجراء المعين الذي يتم نداؤه نتيجة الرسالة يعتمد على نوع الكائن الذي أُرسل له. أي أنه باستخدام نفس اسم الاستدعاء يمكن استدعاء إجراءات ودوال مختلفة اعتماداً على نوع الكائن.
- الوراثة Inheritance - يستطيع الكائن وراثة خصائص كائن معين والزيادة عليها دون أن يتأثر الكائن الأصلي. فقد يكون هناك كائن اسمه مركبة في الخصائص العامة لكل المركبات مثل الاسم واللون ورقم التسجيل، الكائن الطائرة ممكن أن يرث الكائن مركبة ويضيف عليه خصائص الطائرة، كذلك يمكن أن يكون هناك مثلاً كائن مربع فيه خصائص الطول والعرض ويمكن للكائن مكعب أن يرث من المربع ويضيف عليه خصائص العمق والحجم.
مثال على تعددية الأوجه: إذا افترضنا أن المتغير مركبة يشير إلى كائن إما أن يكون سيارة أو سفينة أو طائرة. فإذا أردنا في المثال للطائرة أن تطير وللسيارة أن تمشي وللسفينة أن تبحر فعلينا أولاً معرفة نوع الكائن ثم إعطاء الأمر؛ أي إذا كان مركبة هو كائن من نوع سفينة فالمركبة يجب أن تبحر، ولكن مع تعددية الأوجه يمكننا أن ننشئ دالة واحدة في كل كائن اسمها تحرك (الدالة تحرك في السفينة تقوم بالأبحار والدالة تحرك في الطائرة تقوم بالطيران..الخ). الآن ليس يجب علينا أن نعرف نوع الكائن فكل ما علينا فعله هو نداء تحرك للمركبة، هذا سيقوم باستدعاء دالة تحرك الخاصة بالكائن الحالي فإذا كان الكائن سفينة فهذا يعني أن الدالة تحرك الخاصة بالسفينة ستسدعى والتي ستقوم بأبحار السفينة.