أھم مزايا لغة السي #C++
المقومات الأساسية للبرمجة الكائنية -: ++C تدعم لغة
-1 التغليف و إخفاء البيانات -:
و من ثم يقوم الصف المحدد بالعمل ككائن مغلف Classes# صفة التغليف و إخفاء البيانات عبر إنشاء أنواع جديدة تسمى بالطبقات ++C تدعم
تماما و يستعمل كوحدة متكاملة بحيث يبقى عمله الداخلي مستورا و لا يحتاج المستعمل إلى فھم ھذا العمل المخبأ ، ينبغي أن يعرف كيفية استعماله
فقط .
-2 الوراثة و إعادة الاستعمال -:
يمكن إعلان نموذج جديد يكون امتدادا لصف موجود و اشتقاقا منه . inheritance. دعما فعالا لإعادة الاستعمال من خلال الوراثة C++ توفر
و نسمي الصف الجديد صفا مشتقا أحيانا.
3 -التعددية الشكلية -:
إن الدالة تكون واحدة ، و لكن أطوارھا متعددة بحسب نوع الفصيلة . و ھذا ھو أحد المبادئ الاقتصادية في لغة سي++ لتوفير الوقت و الجھد :
عن البرنامج المكتوب باللغه التقليديه فيما يلي: OOP استخدام نفس الدالة لتحقيق مھام مختلفة ويختلف البرنامج المكتوب بلغة
-1 وحدة بناء البرنامج:
كان البرنامج التقليدي عباره عن داله رئيسيه ومجموعة دوال فرعيه ، ويتم إستدعاء الدوال الفرعيه من داخل الداله الرئيسيه حسب تسلسل
التي تتكون ( Class ) فقد أصبحت وحدة البرنامج ھي الفئة أو الصنف OOP التقليديه ، أما البرامج المكتوبة بأسلوب C البرنامج ، كما في لغه
من البيانات والدوال التي تعمل على ھذه البيانات ويتم إستدعاء الدوال كعناصر للأصناف على البيانات حسب فكرة البرنامج.
2- النظره الي البيانات:
:
في البرنامج التقليدي كان مجھود المبرمج ينصب على كود البرنامج أي سطور البرنامج التي تتولى سير العمليات بينما كانت النظره الي البيانات
نظره ثانوية ولكن أسلوب برمجة الأھداف الموجھه فتعتبر البيانات جزء مھم من البرنامج . وبالتالي أصبحت لدينا مكتبه ليس فقط من الدوال بل
مكتبه من الفصائل التي تحتوي على البيانات والدوال التي تتعامل معھا ووفرت ھذه المكتبه الكثير من المجھود الذي يبذله المبرمج حيث كان يقوم
بتعريف البيانات ثم الدوال التي تتعامل معھا كل مره . وتظھر مكتبة الاصناف في برمجة النوافذ حيث يوجد صنف للنافذه الرئيسيه للبرنامج بھا
جميع البيانات التي تخص النافذه وكذلك الدوال التي تتعامل مع ھذه النافذه ويوجد صنف لمربع الحوار وبھا بيانات مربع الحوار وكذلك الدوال التي
تتعامل معھا فأصبحت وحدة بناء البرنامج كبيره وليس على المبرمج كتابة كل شئ في البداية.
و الذى يعتمد على ما يلى: OOP : على بعض المفاھيم الاساسية المرتبطة بمفھوم البرمجة الموجھة نحو الاشياء C++ لذلك فقد نشأت لغة
: Object •الكائن
عبارة عن وحدة معرف عليھا مجموعة عمليات تحوي مجموعة من البيانات تسمى خصائص أو صفات مثال طالب ، قلم ، حاسب.
وھي التي نحس فيھا فنجد لھا حركة ونشاط . ) Animate Objects: كائنات نشطة (حية
Class
Private Public
Data Function Data Function
- 7 -
ھي التي لا نلاحظ لھا نشاط أو حركة أو وقع أينما وجدت. ) Inanimate Objects: كائنات غير نشطة (غير حية
حيث ؛ Objects" ھي ما نطلق عليه "كائنات package في حزمة (Methods (behavior والطرق (Data (attributes نقوم باحتواء البيانات
نعني بالتخفي ھنا أنه بإمكان Information Hiding أن بيانات وطرق أي كائن ترتبط ببعضھا ارتباط وثيق. ھذا الكائن يتميّز بخاصية التخفي
الكائنات الاتصال والتعامل مع بعضھا البعض مع عدم معرفة أحدھا كيف تكوّن الآخر! أي أن تفاصيل التكوين ھي المخفيّة حتى عن الكائنات
أي Abstraction نفسھا؛ فمن المؤكد أننا نعرف كيف نقود السيارة بكفاءة عالية دون معرفة تفاصيل ھندستھا. تسمى ھذه الخاصية في البرمجة ب
تجريد البيانات.
: Classes •الأصناف
ھي عبارة عن أنواع تحوي مجموعة من الكائنات التي تشترك في الخصائص والعمليات مثال صنف الحاسب و صنف الإنسان وصنف الطلاب .
والصنف يمثل المواصفات العامة للكائنات التي تنتمي لھذا الصنف ، بينما الكائنات تمثل شئ قائم بذاتة أو شئ له ذاتية تنتمي لذلك الصنف.
الفرق بين الصنف والكائن:
ولك منھا خصائص محددة ويستطيع القيام بعمليات محددة. أما Object كل ما في الوجود ھو كائن فأنا وأنت وھذه الورقة والقلم كلھا كائنات
الصنف فھو مجموعة من الكائنات المتشابھة فالرجال صنف وزيد كائن منه والنساء صنف وأمل كائن منه. وكمثال آخر الصنف البرمجي: "بطاقة
دوام "الذي يحوي الطرائق المطلوبة لحساب الأجر و عدد ساعات الدوام أما الكائن "بطاقة دوام سامر" والكائن "بطاقة دوام حسن" فإنھما
يستفيدان من الإجراءات الموجودة في الصنف" بطاقة دوام" لحساب أجر سامر أو أجر حسن .