sunyboy
10-14-2009, 06:53 PM
با سلام یکی از دوستان ازم خواسته بودند براشون یک برنامه ساده با استفاده از کلاسها بنویسم منم خواستم در اینجا یک توضیحی در مورد کلاسها بدم بعدش یک برنامه ساده را با استفاده از کلاسها در ویژوال بیسک دات نت پیاده سازی کنم تا هم این دوستمان به خواسته اش برسه و همی اینکه اگر کسی در این مورد سوالی داشته باشه بتونه به جواب سوالاتش برسه!
كلاس چيست ؟ كار با آن چگونه است ؟
در ويژوال بيسيك واحد برنامه نويسي كلاس است
شيي ها از اين كلاس ها ايجاد مي گردند
درحالي كه روال ها در درون مرز كلاس كپسوله هستد
كلاس حاوي داده و مجموعه اي از متد هاست
به برنامه نويسي مبتني بر كلاس و شيي برنامه نويسي شيي گرا
يا OBP (Object – Based Programming) مي گويند
براي افزودن يك كلاس به برنامه به روش زير عمل مي كنيم
Project > Add Class…
حال نام كلاس را وارد كرده و دكمه Add را مي زنيم تا كلاس به برنامه ما افزوده شود
در اينجا ما نام كلاس را Num انتخاب ميكنيم
صفحه كلاس باز مي شود كد زير به نمايش در مي آيد
Public Class Num
محل نوشتن روال ها و تعريف متغير ها
End Class
حال مي توانيم متغير ها و روال هاي خود را در محل مشخص شده بنويسيم
تعريف متغيير ها در كلاس
براي تعريف متغيير ها در كلاس به جاي استفاده از كلمه Dim از كلمه هاي Public يا Private استفاده ميكنيم كه معني هر كدام در پايين توضيح داده شده :
Public : متغيير كه با اين كلمه كليدي تعريف ميشود عمومي است و براي همه اشيا قابل دسترسي است البته اگر نيازي به دسترسي ديگر اشيا به اين متغيير وجود ندارد اين كار خطرناك است و نبايد متغيير عمومي تعريف شود
Private : متغيير كه با اين كلمه كليدي تعريف ميشود خصوصي است و فقط براي روال هاي داخل كلاس قابل دسترسي است و شيي از بيرون نمي تواند به اين متغيير ها دستري داشته باشد
معمولا بيشتر متغيير ها Private تعريف مي شوند
پس به 2 حالت زير مي توانيم متغيير ها را تعريف كنيم
Public Number1 As Integer
Private Number1 As Integer
تعريف روال ها در كلاس
تعريف روال ها در كلاس درست به همان شكل عادي تعريف روال است با اين تفاوت كه بايد يكي از 2 كلمه Public يا Private قبل از تعريف روال بياوريم اين كلمات همانند متغيير ها نشان دهنده عمومي يا خصوصي بودن روال ها هستند و روالي
كه با كلمه Public تعريف شود براي تمام اشيا در بيرون از كلاس قابل دسترسي است اما روالي
كه با كلمه Private تعريف شود فقط براي روال هاي درون كلاس قابل دسترسي است
تعريف روال در كلاس به روش Private :
Private Sub Print()
محل نوشتن دستورات روال
End Sub
تعريف روال در كلاس به روش Public :
Public Sub Print()
محل نوشتن دستورات روال
End Sub
ايجاد يك كلاس و استفاده از آن درون برنامه
در اينجا ما يك كلاس با نام Num ايجاد مي كنيم
اين كلاس داراي 2 روال به نام هاي Min و Max است كه Min عدد كوچكتر ميان 2 عدد دريافتي را بر مي گرداند و Max نيز عدد بزرگتر ميان 2 عدد دريافتي را برميگرداند
كد هاي درون كلاس اينگونه هستند :
Public Class Num
Public Function Max(ByVal number1 As Integer, ByVal number2 As Integer)As Integer
If number1 > number2 Then
Return number1
Else
Return number2
End If
End Function
Public Function Min(ByVal number1 As Integer,ByVal number2 As Integer)As Integer
If number1 < number2 Then
Return number1
Else
Return number2
End If
End Function
End Class
حال كلاس ما ايجاد شده و آماده استفاده است اما قبل از استفاده از اين كلاس در برنامه بايد يك شيي از نوع اين كلاس در برنامه ايجاد كنيم
براي ايجاد يك شيي جديد از كلمه New استفاده مي كنیم
در محيط كد نويسي فرم كد زير را مي نويسيم
مانند:
Dim Cnum As New Num
حال Cnum از نوع كلاس نام تعريف شده است و اگر Cnum را بنويسيم و يك نقطه بعد از آن قرار دهيم نام 2 روالي كه درون اين كلاس وجود دارد را مي بينيم
مانند :
http://pnu-club.com/imported/mising.jpg
نوشتن يك برنامه كاربردي با اين كلاس
حال برنامه اي مي نويسيم كه دو عدد را دريافت كند و عدد بزرگتر با با استفاده از همين كلاس پيدا كرده و چاپ كند
برنامه داراي 3 TextBox و يك Button است كه TextBox1 و TextBox2 همان 2 عددي هستند كه كاربر وارد ميكند و عدد بزرگتر درون TextBox3 چاپ مي شود
روي Button 2 بار كليك كرده و كد زير را مي نويسيم
Dim Cnum As New Num
TextBox3.Text = Cnum.Max(CInt(TextBox1.Text), CInt(TextBox2.Text))
امیدوارم این آموزش برای دوستمان موثر واقع شده باشه! و دیگر دوستان هم استفاده کرده باشند!
همیشه طرف حق باشید و حق شناس!
با احترام مدیریت باشگاه
كلاس چيست ؟ كار با آن چگونه است ؟
در ويژوال بيسيك واحد برنامه نويسي كلاس است
شيي ها از اين كلاس ها ايجاد مي گردند
درحالي كه روال ها در درون مرز كلاس كپسوله هستد
كلاس حاوي داده و مجموعه اي از متد هاست
به برنامه نويسي مبتني بر كلاس و شيي برنامه نويسي شيي گرا
يا OBP (Object – Based Programming) مي گويند
براي افزودن يك كلاس به برنامه به روش زير عمل مي كنيم
Project > Add Class…
حال نام كلاس را وارد كرده و دكمه Add را مي زنيم تا كلاس به برنامه ما افزوده شود
در اينجا ما نام كلاس را Num انتخاب ميكنيم
صفحه كلاس باز مي شود كد زير به نمايش در مي آيد
Public Class Num
محل نوشتن روال ها و تعريف متغير ها
End Class
حال مي توانيم متغير ها و روال هاي خود را در محل مشخص شده بنويسيم
تعريف متغيير ها در كلاس
براي تعريف متغيير ها در كلاس به جاي استفاده از كلمه Dim از كلمه هاي Public يا Private استفاده ميكنيم كه معني هر كدام در پايين توضيح داده شده :
Public : متغيير كه با اين كلمه كليدي تعريف ميشود عمومي است و براي همه اشيا قابل دسترسي است البته اگر نيازي به دسترسي ديگر اشيا به اين متغيير وجود ندارد اين كار خطرناك است و نبايد متغيير عمومي تعريف شود
Private : متغيير كه با اين كلمه كليدي تعريف ميشود خصوصي است و فقط براي روال هاي داخل كلاس قابل دسترسي است و شيي از بيرون نمي تواند به اين متغيير ها دستري داشته باشد
معمولا بيشتر متغيير ها Private تعريف مي شوند
پس به 2 حالت زير مي توانيم متغيير ها را تعريف كنيم
Public Number1 As Integer
Private Number1 As Integer
تعريف روال ها در كلاس
تعريف روال ها در كلاس درست به همان شكل عادي تعريف روال است با اين تفاوت كه بايد يكي از 2 كلمه Public يا Private قبل از تعريف روال بياوريم اين كلمات همانند متغيير ها نشان دهنده عمومي يا خصوصي بودن روال ها هستند و روالي
كه با كلمه Public تعريف شود براي تمام اشيا در بيرون از كلاس قابل دسترسي است اما روالي
كه با كلمه Private تعريف شود فقط براي روال هاي درون كلاس قابل دسترسي است
تعريف روال در كلاس به روش Private :
Private Sub Print()
محل نوشتن دستورات روال
End Sub
تعريف روال در كلاس به روش Public :
Public Sub Print()
محل نوشتن دستورات روال
End Sub
ايجاد يك كلاس و استفاده از آن درون برنامه
در اينجا ما يك كلاس با نام Num ايجاد مي كنيم
اين كلاس داراي 2 روال به نام هاي Min و Max است كه Min عدد كوچكتر ميان 2 عدد دريافتي را بر مي گرداند و Max نيز عدد بزرگتر ميان 2 عدد دريافتي را برميگرداند
كد هاي درون كلاس اينگونه هستند :
Public Class Num
Public Function Max(ByVal number1 As Integer, ByVal number2 As Integer)As Integer
If number1 > number2 Then
Return number1
Else
Return number2
End If
End Function
Public Function Min(ByVal number1 As Integer,ByVal number2 As Integer)As Integer
If number1 < number2 Then
Return number1
Else
Return number2
End If
End Function
End Class
حال كلاس ما ايجاد شده و آماده استفاده است اما قبل از استفاده از اين كلاس در برنامه بايد يك شيي از نوع اين كلاس در برنامه ايجاد كنيم
براي ايجاد يك شيي جديد از كلمه New استفاده مي كنیم
در محيط كد نويسي فرم كد زير را مي نويسيم
مانند:
Dim Cnum As New Num
حال Cnum از نوع كلاس نام تعريف شده است و اگر Cnum را بنويسيم و يك نقطه بعد از آن قرار دهيم نام 2 روالي كه درون اين كلاس وجود دارد را مي بينيم
مانند :
http://pnu-club.com/imported/mising.jpg
نوشتن يك برنامه كاربردي با اين كلاس
حال برنامه اي مي نويسيم كه دو عدد را دريافت كند و عدد بزرگتر با با استفاده از همين كلاس پيدا كرده و چاپ كند
برنامه داراي 3 TextBox و يك Button است كه TextBox1 و TextBox2 همان 2 عددي هستند كه كاربر وارد ميكند و عدد بزرگتر درون TextBox3 چاپ مي شود
روي Button 2 بار كليك كرده و كد زير را مي نويسيم
Dim Cnum As New Num
TextBox3.Text = Cnum.Max(CInt(TextBox1.Text), CInt(TextBox2.Text))
امیدوارم این آموزش برای دوستمان موثر واقع شده باشه! و دیگر دوستان هم استفاده کرده باشند!
همیشه طرف حق باشید و حق شناس!
با احترام مدیریت باشگاه