Search VB 2010

Wednesday, April 13, 2011

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

تعرفنا على مفهموم الــ Sub .

C- Sub & Function Concept :
مفهوم الاجراءات و الدوال

صورة رقم (7)

- كيف نصنع الدوال و كيف نستخدمها فى بيئة الــ .Net ؟؟
لكى نجيب على هذا التساؤل سنقوم بشرح مثال عملى ...


- قم بعمل مشروع جديد يحتوى على Form تحتوى على Button ... كما بالصورة رقم 7.
- من داخل الــ Form سنكتب الكود الاتى :
Private Funcrion Sum(ByVal X As Integer,ByVal Y As Integer)
Return X + Y
End Function
معناه أن الدالة Sum نرسل لها قيمتين X,Y ثم عملية جمع و الرجوع بالنتيجه (هذا هو عمل الداله Sum).
لاظهار النتيجه :
فى الحدث Button1_Click نكتب :
MsgBox Sum( 5 + 6 )
قم بتجربة المشروع و لاحظ النتيجه هى 11
بالرجوع للمثال السابق ... نضيف Class جديد للمشروع .
و مره أخرى معنى Class : هو عبارة عن وحده تحتوى على مجموعه من الاجراءات مثل (Sub - Function - Variables - Events - ....... etc) .... و أهم اجرائين فى الـ Class هما : Constructor - Destructor حيث (Constructor) هو بادىء الــ Class بينما (Destructor) هو ناهى الـ Class .... انظر الصورة رقم (8).


صورة رقم (8)



الصورة توضح Class اسمه Ahmed يحتوى على Sub اسمة New1 عباره عن كود واحد و يبدأ الـ Class بهذا الاجراء و بالتالى فان الاجراء New1 هو Constructor للــ Class أى ان عند استدعاء الـ Class فان أول كود سيتم تنفيذه هو الاجراء New1 و فى بعض الاحيان فإن الــ Constructor يستخدم فيه أكواد الحمايه للــ Class أو التعليقات الخاصه بمبرمج الـــ Class حيث أن اجراء Constructor أول ما يتم تنفيذه.
الان سنضيف Button الى الــ Form و عند الحدث Button2_Click سنكتب الاتى :
Dim A As New Ahmed
A.New1
الان قم بتنفيذ المشروع ستلاحظ تنفيذ هذا الكود الموجود بالاجراء New1 و الذى هو الــ Constructor للـ Class .
ثم نضيف اجراء اخر بعد الاجراء New1 و ليكن New2 كالتالى ....
Sub New2
MsgBox ("Im Just A Sub")
End Sub
ثم فى الحدث Button2_Click نكتب الاتى :
B.New2
قم بتنفيذ المشروع ستلاحظ أنه قام بتنفيذ الــ Constructor أولا و هو الاجراء New1 ثم قام بتنفيذ الاجراء الثانى New2
- كيف نبنى Class على متغيرات ؟
- قم بعمل مشروع جديد يحتوى على Form تحتوى على Button ... كما بالصورة رقم 7.
- قم باضافة Class باسم Class1 .
- من داخل الــ Class سنكتب الاكود الاتى :
Sub New(ByVal XX As Integer, ByVal YY As Integer)
x = XX
y = YY
End Sub

Public X As Integer
Public Y As Integer
- ما نراه الان هو اجراء باسم New مبنى على متغيران هما XX و YY و كلاهما
اجبارى و كلاهما رقمى , لاحظ انه بعد انتهاء الاجراء بــ End Sub قمنا بتعريف
متغيرين أخرين هما X و Y واعطينا كلا منهما نوع رقمى لأننا سنساويهما بالمتغيرين XX و YY أى انه حتى اذا انتهى الاجراء فى Class فانه يمكن استدعاءة فى نفس الــ Class الموجود به .
- كيف نستفيد بهم فى الــ Form ؟؟
- أولا الاجراء مكتوب فى الــ Class و هذا معناه أنه يؤثر على مستوى المشروع بالكامل .
- سنذهب الى الـ Form و نقوم باستدعاء الـ Class بهذا الكود ...
Dim  C As New Class1(10, 20)
هذا الكود معناه أن C اصبحت تمثل Class1 أى أن ذاكرة الكميوتر عند تنفيذ هذا الكود يتقوم بتخزين C على أنه Class1 أو نسخه جديده منه و سنقوم بالتعويض عن كلا من XX و YY بالرقمين 10 و 20 .
و هذا ايضا معناه أن كلا من XوY مساويان للرقمين 10و20 ...
نذهب للحدث Button1_Click و نكتب الكود :


MsgBox(C.X & " " & C.Y)
نلاحظ ان عند كتابة C التى ترمز الى الـ Class ثم (.) ظهر تلقائيا كلا من XوY و لم يظهر XXوYY لأن ...........
 XXوYY هما متغيرات الاجراء New بينما XوY هما متغيرات الــ Class بالكامل و لذا قمنا بمساواتهم بكلا منXXوYY حتى نخرج بنتيجه من التعويض بالرقمين 10و20 .
قم بتجربة المشروع و غير مكان المتغيرات داخل الـ Class و داخل الـ Sub و داخل الـ Form ولاحظ الفرق حتى تتعرف أكثر على الاجراء ...
- هل يمكن عمل أكثر من Constructor فى الــ Class ؟؟
نعم يمكن عمل أكثر من Constructor و تسمى هذه العمليه OverLoading

Visual Basic Courses - Share