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

شبكة ابن الخليج

Sitemap | Archive | Tag Could
التسجيلالبحثمشاركات اليوماجعل جميع المنتديات مقروءةالأرشيفاعلن معنا





الخصائص (Properties)

مناقشة موضوع الخصائص (Properties) في دروس لغات البرمجة; ذكرنا بالدرس السابق بعض مفاهيم الـ OOP , وقمنا بإنشاء class أب و من ثم object منه يرث عنه جميع صفاته , وذكرنا أنه بمجرد كتابة اسم الكائن ويليه ( . ) سنصل لأي متغير أو أي دالة من دوال الـclass الأب . ال ...

العودة منتدى ابن الخليج> منتديات تعليمية> دروس لغات البرمجة

{ مِنَ الْمُؤْمِنِينَ رِجَالٌ صَدَقُوا مَا عَاهَدُوا اللَّهَ عَلَيْهِ فَمِنْهُم مَّن قَضَى نَحْبَهُ وَمِنْهُم مَّن يَنتَظِرُ وَمَا بَدَّلُوا تَبْدِيلاً } الأحزاب23

حادثة الإفك - تفسير ابن كثير وشرح عثمان الخميس



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

رد
 
LinkBackأدوات الموضوعطرق مشاهدة الموضوع
قديم 05-28-2006, 01:44 مساءً   #1 (permalink)
اسرة ابن الخليج
 
الصورة الرمزية الهوى ماهو كلام
 
تاريخ التسجيل: Jul 2005
الدولة: *K S A*
المشاركات: 4,815
معدل تقييم المستوى: 659الهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيط
إرسال رسالة عبر مراسل ICQ إلى الهوى ماهو كلامإرسال رسالة عبر مراسل MSN إلى الهوى ماهو كلامإرسال رسالة عبر مراسل Skype إلى الهوى ماهو كلام
افتراضيالخصائص (Properties)

ذكرنا بالدرس السابق بعض مفاهيم الـ OOP , وقمنا بإنشاء class أب و من ثم object منه يرث عنه جميع صفاته , وذكرنا أنه بمجرد كتابة اسم الكائن ويليه ( . ) سنصل لأي متغير أو أي دالة من دوال الـclass الأب . اليوم سنستكمل هذه المفاهيم بإذن الله!!

Using this reference :

نعود مرة أخرى لبرنامج الدرس السابق, في الـ Class2 نريد أن نعرف كيف نصل للمتغير ( i ) من داخل أي دالة من دوال هذا الكلاس , أي ما هي الطريقة المتبعة للوصول لأي Instance variable or method ؟؟...والطريقة المتبعة في ذلك هي استخدام الكلمة المفتاحية this في الوصول له. سنعيد كتابة الـ Class2 لنرى كيف يمكننا الوصول للمتغير i :
الخصائص
و الوصول لأي Instance Variable من داخل دالة من الدوال يمكن باستخدام this reference كما في المثال السابق, أو بدونها ..
و أيضا تستخدم في الـ Windows Application لكي تشير إلى الـ form الحالي كما سنرى فيما بعد.

والاستخدام الأمثل لها يظهر في حالة لو كان لدينا دالة تستقبل قيم (argument) وأسماء هذه الـ argument هي نفس أسماء الـ Instance variable ففي مثل هذه الحالة كلمة this داخل الدالة تشير إلى الـ Instance Variable , أما إذا أردنا التعامل مع البارميتر الخاصة بالدالة فلن نكتب this ..
لاحظ المثال التالي :
الخصائص
الخصائصProperties :

نعود مرة أخرى لبرنامج الدرس السابق ونحاول الوصول للمتغير ( i ) ولكن هذه المرة من خارج الكلاس Class2 أي من الكلاس Class1, بنفس الطريقة التي توصّلنا فيها للدالة Class2Method بالدرس السابق , على اعتبار أننا نريد تعيين قيمة جديدة للمتغير :
الخصائص
قم الآن بتشغيل البرنامج ... سيقوم الـ Compiler بإظهار رسالة خطأ:
الخصائص
و السبب في حدوث مثل هذا الخطأ يؤكد المعلومة التي ذكرناها بالدرس السابق "الدوال والمتغيرات التي يتم تعريفها بواسطة الـ Access modifier من النوع private لا يمكن الوصول إليها من خارج الكلاس التي أنشئت فيه " وهنا فنحن نحاول الوصول من الكلاس Class1 , للمتغير i من النوع Private والذي تم تعريفه داخل الكلاس Class2 ...
ولكن هل ستظل هذه المتغيرات التي يتم تعريفها بواسطة private لا يمكننا الوصول إليها أبدا ؟!!
بالطبع لا, فلا بد من وجود ميكانيزم محدد للتعامل مع مثل هذه الحالة وهو ما يعرف بـ Properties والذي سنتعرف عليها في الأسطر القليلة القادمة من الدرس حيث أننا سنقوم بكتابة property لكل private member .
الـ properties تسمح لنا بالوصول إلى الـ private member , تتكون من دوال تسمى Accessor method , وتعريف الـ property يتكون من get accessor أو set accessor أو كلاهما .
تتم كتابتها كالتالي :
public Private-member-type property-Name
{
get {return private-member; }
set {private-member = value; }
}

بحيث أن :
get accessor : تسمح بقراءة قيمة الـ private member .
set accessor : تسمح بتغيير قيمة الـ private member .

و هذه الـ accessor method يجب أن تراعي بها عدة شروط :
• أن تعرف هذه الدوال على أنها public .
• يكون بداخلها two blocks أحدها للـ get والآخر للـ set , أو one block لأحدهما .
• هذه الدوال لا يكون لها بارميتر أي أنها لا تستقبل قيم .
• كل دالة تعود بنفس نوع الـ private member .
وهذه الـ private member لو كنت أريدها :
Read only :سنستخدم get accessor فقط .
Write only : سنستخدم set accessor فقط .
Read & write : سنستخدم كلاهما .

ستتضح الفكرة إن شاء الله مع المثال التالي :
الكلاس التالي يختص ببيانات شخص اسمه وعمره وهي private و سنرى كيف نستخدم الـ property للوصول لقيمتي الاسم والعمر وإمكانية تغييرها .
الخصائص
- الأسطر (11-17) : قمنا بعمل الـ property للمتغير myName وأسميناه MyName
get في الأسطر(13-14) تعود لنا بالقيمة myName
set في الأسطر (15 -16) تضع القيمة الجديدة value في myName.
- الأسطر (19-29): هنا الـ property للمتغير myAge و أسميناه MyAge
get تعود بالقيمة myAge
set تضع القيمة الجديدة value في myAge ولكن هنا القيمة التي يتم تخزينها في myAge تتم بعد اختبار الشرط
و لاحظ وجود الكلمة المحجوزة value في set فهي تمثل القيمة القادمة للـ set accessor .

- في الكلاس MainClass :
السطر (37) : أنشأنا object من الـكلاس Person أسميناه newPerson .
السطر (38) : في جملة الطباعة هنا نستدعي قيمة المتغيرين myName و myAge ولكن ليس بمناداتها مباشرة وإنما عن طريق مناداة الـ property لكل منهما MyName و MyAge ثم تتم طباعتها على الشاشة .
طبعا بمجرد وصول الكومبايلر لهذا السطر فإنه سينتقل مباشرة إلى السطر 14 ليعود بالقيمة myName , ثم إلى السطر 22 ليعود بالقيمة myAge ثم يعود للسطر 38 مرة أخرى لتتم طباعة النتيجة على الشاشة . (شاهد السطرين الأول والثاني من المخرجات)

السطر(41): بمجرد وصول الكومبايلر لهذا السطر سينتقل مباشرة للسطر 16 ليضع القيمة value وهي Ebraheem بداخل myName عن طريق set accessor .
السطر(42) : بنفس الطريقة بمجرد وصول الكومبايلر لهذا السطر سينتقل للأسطر (23-29) ليجري الاختبار على القيمة 17 إن كانت أقل من أو تساوي 100 سيضعها كما هي داخل المتغير myAge , وإن كانت اكبر سيضع القيمة 0 بداخل myAge .
ثم بالسطر (43) : جملة الطباعة ستتم استدعاء قيمة المتغيرين myName و myAge عن طريق الـ property الخاص بكل منهما , لتتم طباعتها كما حدث تماما في السطر 38. (السطرين 3 و 4 من المخرجات) .
وبذلك تمكنا من الوصول لقيم الـ private member و تغيير قيمها باستخدام هذا الميكانيزم .

المخرجات:
الخصائص
و أمثل و أمتع طريقة لفهم هذه الأمور هي تتبُّّع عمل الـ compiler باستخدام الـ break point !!.













من مواضيع الهوى ماهو كلام في المنتدى
الهوى ماهو كلام غير متواجد حالياً   رد مع اقتباس
قديم 10-22-2006, 03:54 مساءً   #2 (permalink)
اسرة ابن الخليج
 
الصورة الرمزية مبحرفى ذكرياتي
 
تاريخ التسجيل: Jun 2006
الدولة: ذكرياتي
المشاركات: 2,053
معدل تقييم المستوى: 1582مبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيط
إرسال رسالة عبر مراسل MSN إلى مبحرفى ذكرياتي
افتراضيمشاركة: الخصائص (Properties)

مشكور أخوي ويعطيك العافية وجزاك الله خيرا ...



من مواضيع مبحرفى ذكرياتي في المنتدى
__________________
الحقيقة دائما تؤلم ... من تعود على الأوهام

همسه : إن كنت تريد أن تصبح محبوبآ من الجميع سليمآ من العيوب فأنت تطلب المستحيل


Dream ||||||||||||||||||||||||||||||||||| 59%
مبحرفى ذكرياتي غير متواجد حالياً   رد مع اقتباس
رد

العبارات الدلالية
الخصائص


أدوات الموضوع
طرق مشاهدة الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG]متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

المواضيع المتشابهه
الموضوعكاتب الموضوعالمنتدىمشاركاتآخر مشاركة
الخصائص في Visual BasicADMINدروس لغات البرمجة210-08-2008 12:59 صباحاً
الهاكات تعطل عندي الخصائصالشاكيمشاكل وحلول الـ مواقع1208-15-2008 11:48 مساءً
الخصائص المتوفرة في تحديث 2.40 خلال اللعبابن الخليجاخبار و تحميل العاب Games007-07-2008 02:00 صباحاً
نافذة الخصائص والأحداث بدلفيالهوى ماهو كلامدروس لغات البرمجة310-26-2007 06:08 مساءً
بيئة التطوير المتكاملة IDE + النماذج Forms + الأدوات Tools + الخصائص PropertiesADMINدروس لغات البرمجة103-28-2007 11:42 مساءً


منتديات شبكة ابن الخليج

ثقافة بلاد الرافدين خواطر قصيره لسان العرب فلكيون عرب طرائف و غرائب و مسابقات ثقافية اخبار السيارات مقاطع صغيرة نصايح للعروس أنواع الشعر الأمراض التناسلية العطورات ملابس رجالية مطبخ الشيف اسامة ديكور حدائق نصايح للعروس برامج القوائم البريدية برامج تحرير الصور مساعده في مشكله العاب بلاي ستيشن العاب pc full العاب جيم بوي ادفانس فرسان السلت ترافيان فرش زخارف صور اخبار برامج سامسونق نصايح للعروس دروس الكمبيوتر و الأنترنت دروس اكسارا دروس فوتوشوب مبتدئين دروس ايميج ريدي Adobe ImageReadyدروس افتر افكت Adobe After Effect تحميل ادوبي بريمر دروس Adobe Illustratorدروس Cinema 4D تحميل 3D Studio Max دروس سويش دروس برمجة مواقع دروس Excel دروس شبكات لينكس وندوز WINDOWS دروس Visual Basic نصايح للعروس اروع الهاكات هاكات وشروحات vBulletin 3.[6-5].X vb364 قسم ستايلات vBulletinمجلة المنتديات mkPortalقسم ستايلات مجلة المنتديات mkPortal Stylesسكربتات وادوات تطوير المواقعمشاكل وحلول الـ مواقع بيع مواقع آراءفوتوشوبCinema 4Dخامات فوتوشوبفرش فوتوشوباكشن فوتوشوباشكال فوتوشوبدليل مواقعاكتشف شخصيتكاخبارموسوعة الأطفالبوربوينتtorrentاختصار الروابطPageRankتوقيع لاميلكصانع القليترGlitterبرامج


الساعة تعتمد على توقيت جرينتش +3. الساعة الآن 01:31 مساءً.
Search Engine Optimization by vBSEO 3.1.0

Valid XHTML 1.0 Transitional Valid CSS!Powered by vBulletin® Version 3.7.1,
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd
شبكة و منتديات حبيبى نت  |  شبكة العربي  |   Feeds:   XML   JS   RSS   RSS Feed