1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

ايجاد يك كلاس و استفاده از آن درون برنامه در وبی بی دات نت

شروع موضوع توسط minaaa ‏11/11/11 در انجمن VB

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    كلاس چيست ؟ كار با آن چگونه است ؟

    در ويژوال بيسيك واحد برنامه نويسي كلاس است
    شيي ها از اين كلاس ها ايجاد مي گردند
    درحالي كه روال ها در درون مرز كلاس كپسوله هستد

    كلاس حاوي داده و مجموعه اي از متد هاست

    به برنامه نويسي مبتني بر كلاس و شيي برنامه نويسي شيي گرا
    يا 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 روالي كه درون اين كلاس وجود دارد را مي بينيم
    مانند :
    [​IMG]

    نوشتن يك برنامه كاربردي با اين كلاس

    حال برنامه اي مي نويسيم كه دو عدد را دريافت كند و عدد بزرگتر با با استفاده از همين كلاس پيدا كرده و چاپ كند

    برنامه داراي 3 TextBox و يك Button است كه TextBox1 و TextBox2 همان 2 عددي هستند كه كاربر وارد ميكند و عدد بزرگتر درون TextBox3 چاپ مي شود

    روي Button 2 بار كليك كرده و كد زير را مي نويسيم

    کد:

    Dim Cnum As New Num
    TextBox3.Text = Cnum.Max(CInt(TextBox1.Text), CInt(TextBox2.Text))