برامج نت - أكبر موقع عربي للبرامج

منتدى برامج نت|منتدى البرامج الكاملة والنادرة|العاب بنات|برامج ايفون | برامج
 
 [ مكتبة البرامج ] [ العاب فلاش  ] [ الوصول السريع ] [ مكتبة الخطوط ] سرعة أتصالك ] تسجيل في موقع | تسجيل في منتدى ] [ اضفنا للمفضلة! ] [ خريطة الموقع ]
القائمة الرئيسية
  الرئيسية
  اضافة مقال
  الارشيف
  اخبر صديقك
  صفحة البحث
  اعلن لدينا
  حسابك
  راسلنا
  احصائية
  افضل 10
  استفتاء
منوعات نت
  مكتبة البرامج
  قلعة برامج نت للشروحات
  مكتبة خطوط
  أفحص جهازك
  إضافة لمحركات البحث
  محرر صفحات
  برامج مسنجر  محدّث
  برامج نوكيا 6600
  القاموس
منتدى برامج نت
  منتديات الكمبيوتر والأنترنت
  منتديات التصاميم والجرافيكس
  منتديات العامة
  منتدى برامج نت الطبي
  منتديات الرياضة
  منتديات المصارعة الحرة
  منتديات هواتف الجوال
  منتديات الأفلام والسينما
  منتدى الفضائيات
  منتديات المال والاعمال
جديد البرامج ولاكثر تحميلا

  عدد البرامج : 3307
  عدد التصنيفات : 67
  مرات التحميل : 13750418

جديد البرامج

JFRenamer 1.0.14

MyKeywords 0.0.1

Raster to Vector 9.2

JPG to PDF Converter 1.02

Avira Free Antivirus 13.0.0.3499

NANO AntiVirus 0.24.0.52049


الاكثر تحميلا

Adobe Photoshop 8.1 CS
[مرات التحميل : 609770]

Kaspersky Anti-Virus 6.0.2.621
[مرات التحميل : 494751]

java xp
[مرات التحميل : 238634]

50 ثيم لجوال نوكيا 6600-الجزء الثاني
[مرات التحميل : 175450]

القائمة البريدية

اشترك في القائمة البريدية
تصفح الأرشيف
أخر البرامج المشروحة

شرح البرنامج TuneUp_Utilities_2004 كاملاً
صفحة للطباعة


لتحقيق الأمثلية لجهازك تسريع أدائه وتحسين سرعة الأنترنت ادخل هنا لنتعرف على سر برنامج
صفحة للطباعة
اصنع شكل مميز
صفحة للطباعة
دمج عضوين تحت إسم واحد
صفحة للطباعة
إرسال رسالة خاصة للأعضاء من قبل طاقم الإدارة
صفحة للطباعة
شرح إعدادات الترشيح
صفحة للطباعة
برنامج الاركاماكس Arcamax E-Mail Magic
صفحة للطباعة
[هاك] إرسال رسالة خاصة للأعضاء الإصدار الثاني
صفحة للطباعة
[ الأقسام الخاصة ]

إعلانات
 

softxgame
منتدى الفيديو والصوتيات
مشاهدة القنوات الفضائية

إشترك في صفحة برامج نت الرسمية ليصلك كل ما هو جديد في عالم البرامج
صفحة برامج نت الرسمية على الموقع التواصل الاجتماعي فيسبوك

 


برمجة الكائنات

(1184 مجموع الكلمات في هذا النص)(18756 قراءة)صفحة للطباعة
الدرس السابع عشر: برمجة الكائنات

الدرس السابع عشر: برمجة الكائنات

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

متطلبات قبل البدأ :

  • لا يوجد

اهداف الدرس:

  • مقدمه عن برمجة الكائنات ( Object Oriented )
  • مبدأ التعدديه ( Polymorphism )
  • مبدأ الوراثه ( Inheritance )
  • انشاء التصنيفات ( Class ) , الخواص ( Attribute ) , العمليات ( Operations )
  • مؤسس التصنيف ( Constructer )
  • استخدام التصنيفات

مقدمه عن برمجة الكائنات ( Object Oriented ) :

برمجة الكائنات نعني بها , الوصول بالبرمجه الى محاكاة الواقعيه, كثير من البرامج التي لا تدعم الكائنات يصعب فهم كودها, ولكن مع هذه الطريقه, يوجد لدينا طريق نحاكي به الواقع, لو فكرت قليلا وسألت نفسك, كيف يمكنني ان اقوم بمحاكاة سيارة , طائره , انسان وغيرها, صدقني سيصعب عليك ذلك من غير هذا المبدأ ولكن اذا استخدمت برمجة الكائنات فيسهل عليك فعل كل شي محاكي للواقع تريده, فمثلا لو قلنا ان لدينا تصنيف ( Class ) اسمه بشر , اكيد ان هذا البشر لديه خواص ( attributes ) فهو ينتمي الى نوع وهو ذكر او انثى, لديه اسم , لديه عمر , لديه لون بشره , لديه طول , لديه وزن وهكذا, ولديه عمليات ( operations ) يقوم بها كالنوم والاستيقاظ, والافطار, تخيل انك تقوم بفعل هذا كله بالبرمجه ؟؟؟ ماهو الاسهل بالنسبه لك الطريقه المعتاده من كتابة الاكواد , او الطريقه الجديده التي سنتعلمها بعد قليل :). وايضا نستطيه استخدام هذا المبدأ للاشياء المبدئيه, كالملفات مثلا , فيوجد لدينا ملف , ولديه اسم ولديه حجم , ولديه نوع وغير ذلك.

كثير من لغات البرمجه الحديثه تدعم مبدأ ( Object Oriented ), وتعتبر التي لا تدعمها ضعيفه, فأصبح كل شي في هذه الايام يعتمد على هذا المبدأ, فهو اسرع , اسهل , اكثر حمايه من الكود العادي, وبعض اللغات يطلب منها ويلزم عليها ان تكون مبنيه على هذا المبدأ. ومن وجهة نظري انا, اعتقد ان البرنامج الذي لا يستخدم هذا المبدأ لن يكون جيدا , ( ليس في كل الحالات ).

من اعظم فوائد مبدأ ( Object Oriented ) دعم والتشجيع على مبدأ ( Encapsulation ) ونعني به ( اخفاء المعلومات ), حيث اننا لا نستطيع التحكم في الخواص او المعاملات الا عن طريق الكائن, ومانسميه بواجهة الكائن. حى لو اردنا تغير نوع او اصلاح او اضافة اي شيئ, فسوف نرجع الى التصنيف الاساسي , ولن تطرق الى تعديل جميع اكوادنا. ويمكننا انشاء اكثر من ( Object ) من هذا التصنيف, حيث كل واحد منهم منفصل عن الاخر, فتخيل لدينا التصنيف الاول ( البشر ) فنستطيع انشاء عدة كائنات منه , واحد اسمه محمد ولديه خواص معينه , والاخر اسمه نوال ولديه خواص ومعاملات اخرى, ولا يعني انهم واحد, فكل واحد منهم منفصل على الاخر, ولديه تحكمات وخواص خاصه به.

مبدأ التعدديه ( Polymorphism ) :

بحثت في كثير من المعجمات والتراجم عن معنى هذه الكلمه بالعربيه ولم اجد, ولكن قرأت كتابا يقول عنها ( Different Classes have different behaviors for the same operations ) ومعنى ذلك باللغه العربيه, ان تصنيفات مختلفه يكون لديها سلوكات مختلفه لنفس العمليات, معادله رياضيه اليس كذلك ؟ لن تستطيع فهمها بسرعه, يجب ان تأخذ عليها امثله كثيره ليصل المبدأ الى العقل وتقوم بإستيعابه, واترك ذلك علي فسأحاول قدر الامكان ان اقوم بتسهيله لك. لنأخذ مثالا على ذلك, لو عندنا تصنيف سياره وتصنيف دراجه هوائيه, فكل منهما لديه خاصية التحرك ولكن في السياره يجب ان تقوم بالتشغيل, ولكن في الدراجه بطريقه اخرى ولا يوجد لدينا تشغيل, ولكن في لغات البرمجه لا يوجد لدينا هذا الواقع ولا تقوم بمحاكاة الواقع 100%100 فلذلك تحتاج اللغه ( polymorphism ) لكي تعرف اي عمليه تقوم بعملها لاي تصنيف. لنقولها بطريقه واقعيه باستخدام اللغه العربيه, الدراجه تحتاج الى تقوم بصيانتها , صبغها , تنظيفها , تلميعها , ونفس الشيئ السياره , ولكن اذا قلت اريد ان انظف, فيوجد بعقلك ماهو الشيئ الذي تريد ان تقوم بتنظيفه هل هو سياره او دراجه, هل وصلت الفكره ؟؟

مبدأ الوراثه ( Inheritance ) :

عملية الوراثه سهله, فأنت على سبيل المثال, ورثت صفة الحواجب العريضه من الاب, و الانف المعتدل من الام وغير ذلك, ولكن لديك اشياء وخواص خاصه بك لا توجد في الاب و الام اليس ذلك صحيحا ؟ نفس الشيئ هنا, لنضرب مثالا على ذلك , لدينا شركة سيارات, تقوم ببيع سيارات على عدة انواع ( رياضيه , عائليه , جيب ) , كل منهم لديهم خواص متماثله , كل سياره لها لون, كل سياره لها 4 عجلات, وغيرها, ولكن كل نوع لديه بعض الخصائص لا توجد في الاخرى, الرياضيه مقعدان فقط, الجيب 7 مقاعد , العائليه 5 مقاعد. في مبدا الكائنات نقوم بعملها كالتالي, ننشيئ تصنيف اسمه سياره, وثلاث تصنيفات اخرى ونجعلها تورث الصفات من التصنيف سياره, هل وضحت الصوره ؟ انظر المثال التالي:

انشاء التصنيفات ( Class ) , الخواص ( Attribute ) , العمليات ( Operations ) :

تكلمنا كثيرا في درس اليوم, لنأتي الان الى تطبيقاتنا , ونأخذ امثله حيه لكيفة انشاء التصنيفات والخواص والمعاملات. يمكننا انشاء تصنيفات بإستخدام العباره class لاحظ المثال التالي:

تصنيفنا هذا يحتاج الى خواص , لنقم الان بإنشاء خاصيتين , وهي اسم السياره ولونها , ونقوم بإنشاء الخواص بإستخدام العباره var , لاحظ التالي :

مؤسس التصنيف ( Constructer ) :

في كل تصنيف نقوم بإنشائه يجب علينا ان نقوم بإنشاء مؤسس لهذا التصنيف ويسمى ( Constructer )وهو نوع خاص من العمليات, وينادى هذا المؤسس في حالة انشاء الكائن وفي العاده يقوم ببدأ خواص الكائن, كجعل الخواص تبدأ من البدايه وغيرها, ويجب ان يكون اسمه بنفس اسم التصنيف, والطريقه هي كالتالي:

وايضا نحتاج الى ان ننشئ بعض المعاملات على هذا التصنيف , ونقوم بذلك بإستخدام الدوال التي تعلمناها سابقا, راجع الدرس الحادي عشر: ادراج الملفات والدوال بأنواعها , لاحظ التالي :

استخدام التصنيفات :

الان قمنا بإنشاء تصنيف خاص بنا, نريد ان نقوم بإستخدامه, او البدأ بالعمل عليه, كيف نقوم بذلك ؟؟ لاحظ المثال التالي:

لاحظ اننا نقوم بإنشاء كائن في كل مره نقوم بإنشاء كائن من التصنيف, ولذلك سوف يكون ناتجنا هو التالي:

اعتقد ان درس اليوم طويل جدا , واخذت كميه كبيره من المعلومات, لذلك سوف اقف هنا الان, واكمل المتبقي في الدرس القادم ان شاء الله ولا تنسى انه في حالة صعوبة اي شيئ عليك , راسلني بريديا وسوف يسعدني ان اقوم بالاجابه :)


سؤال على الدرس :

1 - لا يوجد

الـــدرس الــقادم :

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

  

[ العودة الى دروس php | قائمة الأقسام الخاصة ]
مقالات قديمة

2008/02/16
العملاق الروسي Kaspersky Internet Security v7.0.1.325 Final

2004/08/31
DVD Cloner 2.30

2009/04/28
تحميل ABBYY FineReader 9.0.0.1042 كامل برنامج تحويل الكتابة المصورة إلى كتابة نص

2004/12/17
Free Internet TV 3.7

2006/11/28
انفراد جديد وحصري لبرامج نت قنبلة Kapersky AntiVirus For Vista B 6.0.2.509

2007/08/24
CrossOver Linux Professional شغل برامج ويندوز على لينكس + شرح

2005/02/02
Invisible Secrets 4

2004/10/04
Babylon Pro R7 5.0.1

2005/02/27
Xp lock 2005 c

2006/10/21
حاول تجنب أنهيار الويندوز وقوم بأسترجاعه خلال ثواني مع Acronis True Image 10.0

اخر البرامج المشروحة


شرح برنامج WinImage
شرح البرنامج TuneUp_Utilities_2004 كاملاً
إزالة صورة من صور بحث Google
عبارات التكرار
شرح برنامج الكلك 2000 الشهيـر للخطـــوط
[ الأقسام الخاصة ]
  تصميم وتطوير برامج نت Bramjnet.Com

PHP-Nuke Copyright © 2005 by Francisco Burzi
جميع المشاركات والمواضيع في موقع برامج نت لا تعبر بالضرورة عن رأي إدارته بل تمثل وجهة نظر كاتبها

منتدى برامج نت إبداع و تميز  أكبر منتدى عربي أكبر موقع عربي للبرامج   جديد الخطوط  جديد المقالات  جديد البرامج