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


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

  عدد البرامج : 3025
  عدد التصنيفات : 66
  مرات التحميل : 9347442

جديد البرامج

SpeedUpMyPC 3.5.2356

Online TV Player 3.0.951

AVG Anti-Virus Pro Edition 7.5.483 Build 1094

Vista Manager 1.2.1

LimeWire Pro 4.14.7

TaskInfo 7.1.0.232


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

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

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

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

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

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

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

شرج برنامج WMware - جهاز داخل جهاز عندي نظام فيستا داخل نظام اكس بي
صفحة للطباعة


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

المواقع : 603    التصنيفات : 90
1 - شباب الكويت
2 - دردشه طعون الصوتيه
3 - الاتحاد الاسلامي لطلبة سورية
4 - الملتقى الطبي السوري
5 - وحدة العمل الوطني لكرد سورية

دليل المواقع  ::  أضف موقعك

برامج / اغاني / منتديات على كيفك / جديد البرامج
إعلانات
   

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

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

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

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

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

  • لا يوجد

اهداف الدرس:

  • مقدمه عن برمجة الكائنات ( 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/03/05
cFosSpeed v4.20 Build 1389 Final البرنامج الألماني لتسريع خطوط الأنترنت
صفحة للطباعة / أرسل هذا المقال لصديق
2007/05/21
cFosSpeed 3.23.1270 تسريع الأنترنت وسحب كل طاقته حصري
صفحة للطباعة / أرسل هذا المقال لصديق
2004/10/08
Ariolic Active SMART 2.42
صفحة للطباعة / أرسل هذا المقال لصديق
2005/06/10
MixMeister Pro 6.1.3.0
صفحة للطباعة / أرسل هذا المقال لصديق
2006/01/01
Super Internet TV 6.2
صفحة للطباعة / أرسل هذا المقال لصديق
2005/04/02
بطارية جديدة يمكن شحنها خلال دقيقة
صفحة للطباعة / أرسل هذا المقال لصديق
2007/04/22
Photoshop cs3 extended final عملاق تحرير الصور فوتو شوب
صفحة للطباعة / أرسل هذا المقال لصديق
2005/04/15
Plato DVD Ripper
صفحة للطباعة / أرسل هذا المقال لصديق
2006/06/27
الناسخ العملاق وبالواجهة العربية Ashampoo Burning Studio 6.10 SE النسخة العربية
صفحة للطباعة / أرسل هذا المقال لصديق
2007/08/11
Online TV Player 3.0.951 أمبراطور تشغيل المحطات الفضائية أكثر من 850 محطة
صفحة للطباعة / أرسل هذا المقال لصديق
اخر البرامج المشروحة


برنامج دليل هاتف العرب
صفحة للطباعة
تفريغ مراقبة ومتابعة أعضاء الإدارة
صفحة للطباعة
وضع رقم سري لأحد المجالس
صفحة للطباعة
[ شرح ] تغير إسماء المجلد admincp + modcp
صفحة للطباعة
إضافة مجلس فرعي من أحد المجالس
صفحة للطباعة
لم يتم تضمين صفحات الويب الخاصة بي في فهرس Google من قبل.
صفحة للطباعة
عبارات التكرار
صفحة للطباعة
عبارات شرطيه وتكرار اخرى
صفحة للطباعة
تغير إسم الإستايل من لوحة التحكم
صفحة للطباعة
اسرار لوحة المفاتيح (الكى بورد )
صفحة للطباعة
شرح طريقة حذف تمبلت تم إضافته من قبل المدير
صفحة للطباعة
برنامج تسجيل مبسط
صفحة للطباعة
شرح طريقة fdisk مع الفور مات
صفحة للطباعة
كيف أجعل موقعي مدونًا على Google
صفحة للطباعة
ثقة محرك البحث Google لموقعك كيف
صفحة للطباعة
شرح مهام ملف tools.php
صفحة للطباعة
لقراءة ملفاتBIN,ISO بدون حرقها على CD (مهم)
صفحة للطباعة
نقاط مهمة لصداقة قوقل لموقعك أو مدونتك
صفحة للطباعة
معلومات المخدم العامة
صفحة للطباعة
متفرقات عن لغة PHP
صفحة للطباعة
برنامج الدروس الجزء الاخير
صفحة للطباعة
[شرح] عرض إحصائيات لوحة التحكم للمدير
صفحة للطباعة
مكتبة الصور في لغة PHP
صفحة للطباعة
هاك كشف أخر الرسائل الخاصة
صفحة للطباعة
حذف أحد مجالس المنتدى
صفحة للطباعة
سفط الصفحة الورقة دون أستخدام الفلاتر
صفحة للطباعة
شرح تعيين مدير آخر مع الخصائص المحددة
صفحة للطباعة
طريقة حفر الجداول لنسخه الثالثه
صفحة للطباعة
تفعيل مجموعة أعضاء من لوحة التحكم (1)
صفحة للطباعة
المصفوفات الحرفيه
صفحة للطباعة
Recover4allpro2.09 لاسترجاع الملفات
صفحة للطباعة
التحكم بالملفات المرفقه
صفحة للطباعة
مقدمة في Search Engine Optimization
صفحة للطباعة
إرشادات لمشرف الموقع
صفحة للطباعة
نموذج مبسط للتصميم
صفحة للطباعة
أُود أن يقوم موقعي بإعطاء نتائج لصفحات من دولة معينة
صفحة للطباعة
شرح إضافة لغة جديدة للمنتدى
صفحة للطباعة
كيف تصنع علامة تحديد المكان
صفحة للطباعة
[شرح] طريقة إخفاء مجلس عن عدد من المجموعات
صفحة للطباعة
دمج الصور عن طريق التدرج
صفحة للطباعة
منع الرسائل الخاصة قبل عدد معين من المشاركات
صفحة للطباعة
من اروع برامج تحويل وأفضلها من ram الى Mp3 والى جميع الصيغ
صفحة للطباعة
تغير إتجاه الإستايل من اليسار لليمين
صفحة للطباعة
إظهار مواضيع المجلس منذ البداية
صفحة للطباعة
إرسال رسالة خاصة للأعضاء من قبل طاقم الإدارة
صفحة للطباعة
[شرح] التحكم بطريقة عرض المجالس في لوحة تحكم المدير
صفحة للطباعة
تحسين علاقة موقعك بمحرك بحث قوقل الصوري google image search
صفحة للطباعة
إحصائية شاملة ودقيقةعن محركات الأقراص
صفحة للطباعة
[ الأقسام الخاصة ]
  تصميم وتطوير برامج نت Bramjnet.Com

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

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