منتدى دفعة (شموع المستقبل) قسم معلم حاسوب الدفعة الخامسة 2010 - 2011م

اهلاً وسهلاً بكم في منتديات (دفعة شموع المستقبل)
قسم معلم الحاسوب
منتدى دفعة (شموع المستقبل) قسم معلم حاسوب الدفعة الخامسة 2010 - 2011م

اهلاً وسهلاً بكم في منتديات (دفعة شموع المستقبل)
قسم معلم الحاسوب
منتدى دفعة (شموع المستقبل) قسم معلم حاسوب الدفعة الخامسة 2010 - 2011م
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتدى دفعة (شموع المستقبل) قسم معلم حاسوب الدفعة الخامسة 2010 - 2011م


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

 

 تابع البرمجة بالكائنات الشيئية

اذهب الى الأسفل 
3 مشترك
كاتب الموضوعرسالة
خفايا هموم
عصو فضي
عصو فضي
خفايا هموم


عدد المساهمات : 704
نقاط : 49419
السٌّمعَة : 0
تاريخ التسجيل : 23/01/2011
العمر : 36

تابع  البرمجة بالكائنات الشيئية  Empty
مُساهمةموضوع: تابع البرمجة بالكائنات الشيئية    تابع  البرمجة بالكائنات الشيئية  I_icon_minitimeالأحد يناير 23, 2011 7:17 pm



تابع  البرمجة بالكائنات الشيئية  Post


[b][b]
الدرس الثاني
[/b]


لسلام عليكم و رحمة الله و بركاته..

في درس اليوم سنتعلّم معلومات أكثر عن البرمجة بالكائنات الشيئية من خلال مقارنة بين البرمجة بالكائنات الشيئية والبرمجة التقليدية


لنأخذ مثال حي لتوضوح المقارنة :-)

لنفرض أن لدينا معركة بشكل ما بين المسلمين و الإسرائيلين. و أرغب في عمل محاكاة لهذه المعركة على الكومبيوتر. و لنفترض أن رأيي استقر على لغة ال C، و هي لغة تقليدية، لذا سأحضّر للبرنامج بالطريقة التقليدية، سأفكّر: (ماذا سيحدث؟)

سأكتب خطوات حل البرنامج:

- تبدأ المعركة.
- يجري الإسرائيلي تجاه المسلم من الخلف
- يتفادى المسلم الضربة الغادرة
- يهجم المسلم
- يموت الإسرائيلي
- تنتهي اللعبة

نلاحظ فيما سبق أننا رتّبنا البرنامج بحسب الأحداث، لذا بدأت الجمل السابقة بأفعال. و أغلب الظن أننا سنكتب كل ما سبق في ملف واحد و نقوم بتخزينه، و كلّما غيّرنا في مكان نحتاج دائماً إلى إعادة ترجمة البرنامج كاملاً مرّة أخرى (Recompiling).

ماذا نستنتج من ذلك؟
نستنتج أن البرمجة التقليدية تحافظ على ترتيب الأحداث، و يتطلّب التغيير في هذا الترتيب برمجة البرنامج و جميع حلقاته مرّة أخرى.

البرمجة التقليدية تهتم بالأحداث، و تربط بينها الأشياء أو البيانات.

لنفرض أننا أردنا أن نكتب البرنامج بلغة من لغات الكائنات الشيئية (مثل الجافا مثلاً)

سنقرأ السؤال مرة أخرى و لكن هذه المرة سنسأل أنفسنا: (من الأعضاء في هذا المثال؟)

سيقول أحدكم:

المسلم



و سيقول آخر:

الاسرائيلي



سأعود لأسأل: فيم فكّرنا هذه المرة؟ لم نفكّر في الأحداث، بل فكّرنا في أبطال القصة. السؤال الآن: كيف سنكتب البرنامج الآن؟

سأقول لكم :-)

1) بعد أن قمنا بتحديد الأشياء أو الأعضاء، سنقوم بعمل الموديلات لهم أو بمعنى أصح الفئات. لأنه لا يمكن أن يوجد عضو لا ينتمي لفئة!

الفئة الأولى هي فئة (المسلم)، بم يتميّز المسلم من صفات؟

ا
المسلم

الصفات:
له اسم
له روح و جسد
له حالة (امّا حي و إما ميّت)

القدرات:
يشهد أن لا إله إالا الله و يقول الله أكبر
يستطيع أن يقاتل
يمكن أن يجرح
يمكن أن يموت (أو يستشهد)



نأتي للاسرائيلي، و نكتب صفاته
ا
الاسرائيلي

الصفات:
له اسم
له روح و جسد
له حالة (امّا حي و إما ميّت)

القدرات:
يغدر و ينقض العهد
يقاتل من خلف جدار
يمكن أن يجرح
يمكن أن يموت



الآن و بعد أن حددنا الفئات التي ينتمي لها المسلمون و الاسرائيليون، فلنجلس قليلاً لنتأمّل:

لدينا الآن فئة تجمع الصفات المشتركة لأي مسلم (و نلاحظ أننا استخدمنا صيغة المفرد في التسمية) و كذلك الصفات المشتركة لأي اسرائيلي. و نفس الشيء بالنسبة للقدرات.

نريد الآن أن نبدأ المعركة! همم ماذا هناك؟.. فعلاً صحيح، أين المعركة؟ لا يمكننا غدراج المعركة ضمن صفات أو قدرات المسلم، و لا ضمن صفات أو قدرات الإسرائيلي، إذاً سنحتاج إلى عضو آخر جديد يجمع بين الاثنين و هو:

المعركة


و في المعركة نستطيع أن ننشئ عضو من فئة المسلمين و لنسمه محمد و عضو من فئة الإسرائيلين و لنسمّه شارون!

الأن المسألة أصبحت أسهل، ما هي صفات المعركة؟
فيها طرفا نزاع، لها وقت للبداية و لها وقت للنهاية و لها نتيجة!

بدلاً من أن نقول صفات سأستعيض عنها بكلمة أخرى أوضح و هي (مكوّنات) لأن المعركة في الواقع هي فئة موجودة للتكون مكان يجمع أعضاء من عد فئات أخرى. إذاً المعركة ستأخذ هذا الشكل:
ا
المعركة

المكونات:
عضو مسلم
عضو اسرائيلي

القدرات:
تبدأ في وقت محدد
تنتهي في وقت محدد
يتم تحديد النتيجة بعد نهايتها



الآن في عضو من فئة المعركة و لنسمه معركة الإنتصار يوجد مسلم اسمه محمد و اسرائيلي اسمه شارون، و هما سيتقاتلان و تنتهي المعركة بشكل لا يعلمه إلا الله!

ماذا نستنتج من ذلك؟
نستنتج أن البرمجة باستخدام الكائنات الشيئية تتكون من فئات، و أعضاء. و أن بداية البرنامج تتم عبر نقطة بدايو دون تحديد لسير البرنامج لأن الأعضاء من مختلف الفئات قد يتصرّفون بشكل أو بآخر.

توضيح:
أي أنني عندما أبدأ المعركة قد يقوم المسلم بالهجوم أولاً، و قد يقوم الإسرائيلي بالغدر، لا يوجد ما يضمن لي أن أحدهما سيسبق الآخر، لأن كلا الفئتين احتفظت بصفاتها و قدراتها بشكل منفصل عن الفئة الأخرى.

إذاً البرنامج بطريقة الكائنات الشيئية يتكوّن من أكثر من ملف، و كل ملف منفصل فعلياً عن الملفات الأخرى. و حين حدوث أي تغيير في أي برنامج فإن أعادة الترجمة (Recompiling) يتم على هذا الملف دون غيره.

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




عدد المساهمات : 11
نقاط : 47941
السٌّمعَة : 0
تاريخ التسجيل : 12/02/2011
العمر : 33

تابع  البرمجة بالكائنات الشيئية  Empty
مُساهمةموضوع: للامام   تابع  البرمجة بالكائنات الشيئية  I_icon_minitimeالسبت فبراير 12, 2011 11:37 am

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


عدد المساهمات : 188
نقاط : 48583
السٌّمعَة : 0
تاريخ التسجيل : 23/01/2011
العمر : 36

تابع  البرمجة بالكائنات الشيئية  Empty
مُساهمةموضوع: تسلم يا الغالي    تابع  البرمجة بالكائنات الشيئية  I_icon_minitimeالسبت فبراير 12, 2011 3:05 pm



يسلموووو يا الغالي انت الي كلك ذوق يا ذوق
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://ameer-net.7olm.org
 
تابع البرمجة بالكائنات الشيئية
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» لتتعلم البرمجة عليك اولا ان تعرف ما هي لغات البرمجة
» مقدمة عن لغات البرمجة
» س و جــ عن لغات البرمجة للمبتدئين
» مقدمة إلى البرمجة بلغة السي بلس بلس
» تعليم بالصوت والصورة لغة البرمجة فيجوال بيسك

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى دفعة (شموع المستقبل) قسم معلم حاسوب الدفعة الخامسة 2010 - 2011م :: المنتديات الدراسية :: منتدى لغات البرمجة-
انتقل الى: