دروس كمبيوتر وصيانة دروس حاسب دروس مجلة  درس نيوك phpnuke الدروس دروس مسنجر MSN - yahoo - Gmail دروس منتديات vBulletin دروس الجوالات والهواتف دروس السي بنل cpanel دروس اكسس access دروس بيونت شوب برو - point shop pro دروس برمجة php - mysql دروس برامج منوعة software دروس ثري دي ماكس 3D max دروس جافا سكريبت JavaScript دروس دريم ويفر DreamWeaver دروس شبكات Networks دروس سويش - swish دروس فلاش - flash دروس فيجوال بيسك Visual Basic دروس فرونت بيج - frontpage دروس فوتوشوب photoshop دروس هكر hacker crack virus
توبيكات رمضان | رسايل رمضان | ثيمات رمضان | طبخات رمضانية | توبيكات رمضانية | صور عن رمضان | دعاء رمضان
احصائيات سريعة
اقسام على الموقع
دروس في أنظمة التشغيل | ماي سكيول - MySQL | لفيجوال بيسك - Visual Basic | المات لاب Matlab | اللينكس و اليونكس | الاسمبلي - ASSEMBLY | الاوتلوك - Outlook | البرمجة تحت اللنكس -Linux Programming | البرمجة تحت وندوز بواسطة دوال ال win API | البرمجة في بيئة الدوت نت .Net | التصمبم والرسوم | الدلفي - Delphi | الجافا - Java | السي - C | الصوت و الصورة | الوورد - Word | القسم العام للأوفيس | الكوبول - COBOL | control panel-ftp | اوراكل - Oracle | اكسل - Excel | تحميل الملفات | برامج متنوعة | برامج التصفح | برامج الحماية | برامج إنترنت | تعرّف على الويب | بوربوينت - Power Point | images | دروس : كمبيوتر وصيانة | دروس مجلة نيوك phpnuke | دروس مسنجر MSN - yahoo - Gmail | دروس منتديات vBulletin | دروس الجوالات والهواتف | دروس السي بنل cpanel | دروس اكسس access | دروس بيونت شوب برو - point shop pro | دروس برمجة php - mysql | دروس برامج منوعة software | دروس ثري دي ماكس 3D max | دروس تطوير المواقع والمنتديات | دروس جافا سكريبت JavaScript | دروس دريم ويفر DreamWeaver | دروس شبكات Networks | دروس سويش - swish | دروس فلاش - flash | دروس فلاش mx | دروس فى نظام الوندوز WINDOWS | دروس فىالباسكال - Pascal | دروس فيجوال بيسك Visual Basic | دروس فرونت بيج - frontpage | دروس فوتوشوب photoshop | دروس هكر hacker crack virus | سي ++ | سي شارب - #C | فيجوال سي ++ - ++ Visual C | قسم البرمجة العام | دروس فى لغة HTML
البحث في المواد

اكثر المحتويات زيارة
الدوال في الاكسل (6,379 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (4,139 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (3,091 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (2,402 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (2,301 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (2,192 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (2,159 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (1,928 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,756 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,727 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (1,576 مشاهده)
دروس في الأوفيس الأكسس - Access0- (1,527 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (1,489 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,469 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (1,359 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (1,322 مشاهده)
التعرف على مكونات الكمبيوتر (1,286 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,276 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (1,265 مشاهده)
درس تعريب المجلة (1,247 مشاهده)
مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (1,219 مشاهده)
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (1,215 مشاهده)
ما هو المات لاب MATLAB؟ (1,171 مشاهده)
مقدمة عن لغة البيسك (1,129 مشاهده)
الفيجوال بيسك - مقدمة (1,090 مشاهده)
جديد مواد مع عشوائي
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (791 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (491 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (551 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (720 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (790 مشاهده)
دمج المراسلات0-- (438 مشاهده)
وضع صورة كخلفية للنص0-- (567 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (387 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (636 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (401 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,276 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (667 مشاهده)
أساسيات في Access0--0 (459 مشاهده)
تصميم تقرير لطباعة البيانات0---- (496 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (481 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (573 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (444 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (376 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (331 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (466 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (421 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (218 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (302 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (329 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (434 مشاهده)
اعلانات في الموقع على جميع الصفحات

الخصائص (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  !!.   

درس الخصائص (Properties

أضف هذه المادة في موقعك:
مواد مشابهة:
تحويل الأنواع - التحويل الضمني-- تحويل الأنواع - التحويل الضمني--
تحويل الأنواع - التحويل الضمني--
(مرات المشاهدة: 50 مرات)
فتح ملفات الملتيميديا في برنامجك !! فتح ملفات الملتيميديا في برنامجك !!
فتح ملفات الملتيميديا في برنامجك !!
(مرات المشاهدة: 107 مرات)
مفاهيم البرمجة غرضيّة التوجه --OOP Concepts: مفاهيم البرمجة غرضيّة التوجه --OOP Concepts:
مفاهيم البرمجة غرضيّة التوجه OOP Concepts:--
(مرات المشاهدة: 158 مرات)
المتغيرات - Variables المتغيرات - Variables
المتغيرات - Variables
(مرات المشاهدة: 70 مرات)
Regular Expression --2-- Regular Expression --2--
Regular Expression --2---
(مرات المشاهدة: 42 مرات)
الدرس الثالث : استخدام ال MessageBox الدرس الثالث : استخدام ال MessageBox
الدرس الثالث : استخدام ال MessageBox
(مرات المشاهدة: 144 مرات)
أحد الإمكانيات الهامة في أي لغة برمجة هي التعامل مع الملفات أحد الإمكانيات الهامة في أي لغة برمجة هي التعامل مع الملفات
أحد الإمكانيات الهامة في أي لغة برمجة هي التعامل مع الملفات
(مرات المشاهدة: 219 مرات)
المؤشرات في سي شارب- المؤشرات في سي شارب-
المؤشرات في سي شارب-
(مرات المشاهدة: 105 مرات)
التحويل العلني-- التحويل العلني--
التحويل العلني--
(مرات المشاهدة: 64 مرات)
الدرس الثامن : تركيبة if وتركيبة if/else الدرس الثامن : تركيبة if وتركيبة if/else
الدرس الثامن : تركيبة if وتركيبة if/else
(مرات المشاهدة: 117 مرات)
fot
جميع الحقوق محفوظة :Copyright © All rights reserved