Author

Ahmed Samir

Evry1falls is my online name

OOP VB .Net Toturials and Examples - دروس فى ال أو أو بى

OOP VB .Net Toturials and Examples - دروس فى ال أو أو بى 5 of 5
تعلمنا المزيد عن الــ Class ...

الخصائص أو Properties
- كيف نقوم بعمل خاصيه داخل الـــ Class ؟؟؟
- لكى نجيب على هذ التساؤل يجب أولا قراءة الاتى بتمعن :
............. ما هى وظيفة الخاصية ؟
- هى نفس وظيفة المخزن (المتغير) تقوم بتخزين قيمة داخلها لحين استخدامها ............
- سنقوم بعمل مشروع جديد Windows Application يحتوى على Form و Class
1) نفتح الـ Class1 و نكتب فيه الكود الاتى :
Public Proprty Test()
و نضغط على Enter تلاحظ : تم اضافة سطور جديده تلقائيا كما بالصورة رقم 10
صورة رقم 10
حيث Get هى المسؤله عن استرجاع القيمه Value
       Set هى المسؤله عن تخزين القيمه Value
القيمة Value هى القيمة الافتراضيه لمدخلات الخاصيه أو بمعنى اخر هى المسؤله عن تخزين القيمه ف الاجراء Set و يمكن استبدالها بأى اسم متغير اخر, و لكن يجب ان يكون نوع المتغير Value من نفس نوع الخاصيه بمعنى :
اذا قمنا بكتابة كود الخاصيه الموضح بالصورة 10 بشكل تانى :
Public Property Test() As Double
Get
Codes .......................
End Get
Set (ByVal Value as Double)
Codes .......................
End Set
End Property
ايضا من ضمن الفروق ين المتغير (المخزن) و الخاصيه أن المتغير لا يمكن عمل قيود أو Validation على النتيجه و لكن يمكن عمل ذلك بالخاصيه ...
- و الخواص تنقسم الى
1) ReadWrite قراءة و كتابة
2) ReadOnly قراءه فقط
3) WriteOnly كتابه فقط
1) ReadWrite Property خاصية تسمح بالقراءه و الكتابه كما بالصورة رقم 11
صورة رقم 11
وظيفة الخاصيه التى تسمح بالقراءه و الكتابه هى (التخزين و الاسترجاع للقيمه Value) أى يمكنها عمل القيام بالعمليتين معا و فى المثال الموضح بالصورة 11 سنبدأ كتابه هذا الكود فى الـClass1 مباشره بعد المكتوب فى صورة رقم 10 و المثال يشرح كيفية عمل خاصيه تقوم باخراج رساله بجميع الارقام <= 40000 و لكن تعطى رسالة اعتراض على اى مبلغ أخر أكبر و لتجريب المثال انظر صورة رقم 12 .
يقوم الكود بتنفيذ Set ثم Get و Y عباره عن متغير وسيط لتحقيق الشرط حيث لا يمكن استخدام X فى المنطقة Get لانها منطقه منفصله تماما عن Set .
الان قم باضافة متغير بعد الخاصيه بنفس الاسم و ليكن الكود :
صورة رقم 12
Public Salary As Double
و لاحظ الاعتراض حيث انه تم Salary كخاصيه فى نفس الـ Class
نقوم بتغيير Salary الى Salary1 و نذهب الى الحدث Button1_Click و نكتب الكود

C.Salary1 = 2000
MsgBox (C.Salary1)
لاحظ ان  الكود يشبه نفس كود الخاصيه و لكن يمكنك اعطاء قيمه لــ Salary1 كما تشاء و لكن لا يمكنك اعطاء لـ Salary الخاصيه اكبر من 40000 .
2) ReadOnly Property خاصية تسمح بالقراءه فقط كما بالصورة رقم 13
صورة رقم 13

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

سنقرأ قيمة XX المتغير الذى تم تعريفه لأنه لا يوجد لدينا قيمه Value و لكى نعطى قيمه لــ XX انظر الصورة رقم 14 .
حيث قمنا باضافة Button2 للـ Form و فى الحدث Button2_Click نكتب الكود الموضح بالصورة و هو كود اعطاء قيمة لــ XX و المعرفه على مستوى المشروع و عند القيام بتنفيذ الكود بالضغط على Button2 تظهر رسالة Welcome .
3) WriteOnly Property خاصية تسمح بالقراءه فقط كما بالصورة رقم 15
صورة رقم 15

سنقوم باضافة الخاصيه كما بالشكل و نكتب WriteOnly و بعد كتابة سطر الخاصيه نضغط Enter نلاحظ أن الاجراء Set فقط هو الذى تم تنفيذه و ذلك لأننا سنقوم بتخزين القيمه و ليس و ليس استرجاعها لأن WriteOnly عباره كتابة فقط .
ماذا سنكتب ؟؟
سنكتب قيمة Value المتغير الذى تم تعريفة بالخاصيه و لكن من أين سيأخذ هذه القيمه ... انظر الصورة رقم 16
صورة رقم 16

حيث قمنا باضافة Button3 للـ Form و فى الحدث Button3_Click نكتب الكود الموضح بالصورة و هو كود اعطاء قيمة لــ Value لتخزينها عن طريق الكود بالصورة و للتأكد من أن القيمه بالكود Welcome تم تخزينها بالمتغير Value سنتوجه الى الخاصيه AX و بعد سطر Set سنكتب الكود
MsgBox (Value)
سنقوم بتنفيذ الكود عن طريق الضغط على Button3 نلاحظ رساله Welcome و التى تعنى أن القيمه تم تخزينها فى النهايه فى المتغير Value .

Comment Via facebook

Popular posts from this blog

Visual Basic 2010 with MS-Access Database

Visual Basic 2010 Read/Write Command Prompt

Visual Basic Compare Two Treeviews and return differences

Visual Basic Online Course The following control could not be licensed: TxTextControl.TextControl

Visual Basic 2010 Math Functions