الاثنين، 30 مايو 2011

مقالات : معنى البرمجة الشيئية


معنى البرمجة الشيئية
عبارة عن أسلوب جديد في البرمجة من حيث وحدة بناء البرنامج ومن حيث الخصائص الجديدة التي يسمح بها هذا الأسلوب حيث يعتبر وحدة بناء البرنامج هو الصف (class ) الذي يتكون من البيانات ومعها الدوال(العمليات) التي تعمل على هذه البيانات .
او بصورة مختصرة:-
يمكن أن نقول هي عبارة عن طريقة جديدة مستخدمة في البرمجة تمكن من تحليل وتصميم التطبيقات بشكل كائنات تحوي البيانات وتعرف عليها مجموعة من العمليات.
ولها عدة مسميات منها:\
1-البرمجة غرضية التوجه
2-البرمجة الموجهة نحو الاشياء
3-البرمجة الكائنية الموجهة
المقارنة بين اسلوب البرمجة الشيئية والهيكيلية:
كان الاسلوب الشائع في  تصميم البرامج القوية هو أسلوب البرمجة الهيكلية الذي يعتمد اساسا على بناء هيكل للبيانات دون الاهتمام بالعمليات التي يمكن تطبيقها على البيانات, بعد ذلك بدأ المبرمجون في الكشف عن أسلوب جديد للبرمجة يجمع البيانات والعمليات في بنية واحدة وذلك للعلاقة الوثيقة بين البيانات والعمليات وكان هذا الأسلوب هو أسلوب البرمجة الكائنية او الشيئية.
ويختلف البرنامج المكتوب بأسلوبoop عن البرنامج المكتوب بالاسلوب الهيكلي فيما يلي:
1-وحدة بناء البرنامج
كان البرنامج المكتوب بالاسلوب الهيكلي عبارة عن دالة رئيسية ومجموعة دوال فرعية ,ويتم استدعاء الدوال الفرعية من داخل الدالة الرئيسية حسب تسلسل البرنامج.كما في لغةcالهيكلية أما البرنامج المكتوب باسلوب oop فقد أصبحت وحدة البرنامج فيه هي الصنف class التي تتكون من البيانات والدوال التي تعمل على هذه البيانات ويتم استدعاء الدوال كعناصر للأصناف.
2-النظرة إلى البيانات
في البرنامج الهيكلي كان مجهود المبرمج ينصب على كود البرنامج أي سطور البرنامج التي تتولى سير العمليات بينما كانت النظرة إلى البيانات نظرة ثانوية ولكن اسلوب برمجة البرمجة الشيئية يعتبر البيانات جزء مهم من البرنامج .وبالتالي أصبحت لدينا مكتبة ليس فقط من الدوال بل مكتبة من الفصائل التي تحتوي على البيانات والدوال التي تتعامل معها ووفرت هذه المكتبة الكثير من المجهود الذي يبذله المبرمج حيث كان يقوم بتعريف البيانات ثم الدوال التي تتعامل معها كل مرة .وتظهر مكتبة الاصناف في برمجة النوافذ حيث يوجد صنف للنافذة الرئيسية للبرنامج به جميع البيانات التي تخص النافذة وكذلك الدوال التي تتعامل مع هذه النافذة ويوجد صنف لمربع الحوار وبه بيانات مربع الحوار وكذلك الدوال التي تتعامل معه فأصبحت وحدة البرنامج كبيرة وليس على المبرمج كتابة كل شيء في البداية.
بعض المفاهيم الاساسية في البرمجة الشيئية oop
-الكائن:object
هو عبارة عن وحدة تحوي مجموعة من البيانات تسمى خصائص أو صفات ومعرفة عليها مجموعة عمليات(دوال)
مثال:-طالب,قلم,حاسب.
-الصنفclass
هو عبارة عن نوع يحوي مجموعة من الكائنات التي تشترك في الخصائص والعمليات .
مثال:-صنف الحاسبات,صنف الطلاب
الفرق بين الصنف والكائن:-
كل ما في الوجود هو كائن فانا وأنت وهذه الورقة والقلم كلها كائناتobjects  ولكل منها خصائص محددة ويستطيع القيام بعمليات محددة .أما الصنف فهو مجموعة من الكائنات المتشابهة فالرجال صنف وزيد كائن منه والنساء صنف وأمل كائن منه .وكمثال آخر الصنف البرمجي"بطاقة دوام"الذي يحوي الطرق المطلوبة لحساب الأجر وعدد ساعات الدوام  أما الكائن "بطاقة دوام محمد" والكائن"بطاقة دوام حسن" فإنهما يستفيدان من الإجراءات الموجودة في الصنف "بطاقة دوام" لحساب أجر محمد أو اجر حسن .
مزايا البرمجة الشيئية:-features  of oop
1- التجريدabstraction
وهو عملية تحديد كل الخصائص والعمليات التي تنتمي لصنف أو كائن معين وهي نوعان:-
أ-تجريد البيانات data abstraction
ب-تجريد العمليات methods abstraction
2-الكبسلة(التغليف) encapsulation
هي عملية تجميع كل الخصائص والعمليات في وحدة واحدة تسمى الصنف(داخل غلاف واحد) ولا يمكن الوصول إلى هذه الخصائص والعمليات إلا عن طريق الكائن





3-إخفاء البيانات data hiding
وهي مبزة ناتجة عن كبسلة البيانات وتعني إخفاء بعض البيانات وإضافة مستوى حماية معين عليها حتى نمنع الوصول الخطأ إليها
4-الوراثة inheritance
وهي أن يرث صنف معين الخصائص والعمليات المعرفة في صنف آخر مما يساعد على إعادة استخدام الاصناف التي تم انشاؤها من قبل .
مثلا إذا كان لينا صنفان Q1 وQ2





فإن Q2 يرث عناصر Q1 بالإضافة إلى f3()

5- تعدد الأشكال polymorphism
وهي ميزة تمكن من إنشاء كائنات لها القدرة على القيام بأكثر من وظيفة أو إنشاء دوال لها القدرة على القيام بأكثر من وظيفة.

ليست هناك تعليقات:

إرسال تعليق