وقت بخیر دوستان، با آموزش برنامه نویسی (Visual Basic.NET (VB.NET از وب سایت پی وی لرن همراه هستیم. در این بخش از آموزش با مبحث بررسی کلاس ها و اشیاء در VB.NET در خدمتتون خواهیم بود. این مبحث در سه جلسه تنظیم شده است. پس اگر علاقمند به این موضوع هستید با ادامه ی آموزش ها همراه باشید.
وقتی کلاس را تعریف می کنید ، یک blueprint برای یک نوع داده تعریف می کنید. این در واقع هیچ داده ای را تعریف نمی کند ، اما تعریف کلاس را مشخص می کند ، یعنی یک شیء کلاس از چه چیزی تشکیل می شود و چه عملیاتی را می توان در چنین شیئی انجام داد.
اشیاء نمونه های یک کلاس هستند. به متدها و متغیرهای تشکیل دهنده کلاس ، اعضای کلاس گفته می شود.
تعریف کلاس با کلمه کلیدی Class و پس از آن با نام کلاس شروع می شود؛ و بدنه کلاس ، با بیانیه End Class پایان می یابد. در زیر شکل کلی تعریف یک کلاس وجود دارد.
1 2 3 4 5 6 | [ <attributelist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] [ Partial ] _ Class name [ ( Of typelist ) ] [ Inherits classname ] [ Implements interfacenames ] [ statements ] End Class |
که،
attributelist : لیستی از ویژگی هایی است که در کلاس اعمال می شود. اختیاری.
accessmodifier : سطوح دستیابی به کلاس را تعریف می کند ، دارای مقادیر عمومی – محافظت شده ، دوست ، دوست محافظت شده و خصوصی است. اختیاری.
Shadows : نشان می دهند که متغیر یک عنصر با نام مشخص یا مجموعه ای از عناصر اضافه بار را در یک کلاس پایه دوباره اعلام و مخفی می کند. اختیاری.
MustInherit : مشخص می کند که این کلاس فقط می تواند به عنوان یک کلاس پایه استفاده شود و شما نمی توانید یک شیء را مستقیماً از آن ایجاد کنید ، یعنی یک کلاس انتزاعی. اختیاری.
NotInheritive : مشخص می کند که از این کلاس نمی توان به عنوان کلاس پایه استفاده کرد.
Partial : بیان گر تعریف جزئی از کلاس است.
Inherits : کلاس پایه ای را که از آن به ارث می برد ، مشخص می کند.
Implements : رابط هایی را که کلاس از آن ها به ارث می برد مشخص می کند.
مثال زیر یک کلاس Box را نشان می دهد که دارای سه عضو داده ، طول ، عرض و قد (length, breadth و height) است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | Module mybox Class Box Public length As Double ' Length of a box Public breadth As Double ' Breadth of a box Public height As Double ' Height of a box End Class Sub Main() Dim Box1 As Box = New Box() ' Declare Box1 of type Box Dim Box2 As Box = New Box() ' Declare Box2 of type Box Dim volume As Double = 0.0 ' Store the volume of a box here ' box 1 specification Box1.height = 5.0 Box1.length = 6.0 Box1.breadth = 7.0 ' box 2 specification Box2.height = 10.0 Box2.length = 12.0 Box2.breadth = 13.0 'volume of box 1 volume = Box1.height * Box1.length * Box1.breadth Console.WriteLine("Volume of Box1 : {0}", volume) 'volume of box 2 volume = Box2.height * Box2.length * Box2.breadth Console.WriteLine("Volume of Box2 : {0}", volume) Console.ReadKey() End Sub End Module |
هنگامی که کد بالا کامپایل و اجرا می شود، نتیجه زیر را ایجاد می کند.
1 2 | Volume of Box1 : 210 Volume of Box2 : 1560 |
تابع عضو (Member) یک کلاس، تابعی است که تعریف یا شکل اولیه در تعریف کلاس مانند هر متغیر دیگر دارد. آن بر روی هر شیئی از کلاس که عضو آن است عمل می کند و به تمام اعضای یک کلاس برای آن شی، دسترسی دارد.
متغیرهای عضو ویژگی های یک شی (از منظر طراحی) هستند و آن ها را برای پیاده سازی کپسوله سازی خصوصی نگه می دارند. این متغیرها فقط با استفاده از توابع عضو عمومی قابل دسترسی هستند.
حال بگذارید مفاهیم فوق را برای تنظیم و به دست آوردن ارزش اعضای کلاس های مختلف در یک کلاس بررسی کنیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | Live Demo Module mybox Class Box Public length As Double ' Length of a box Public breadth As Double ' Breadth of a box Public height As Double ' Height of a box Public Sub setLength(ByVal len As Double) length = len End Sub Public Sub setBreadth(ByVal bre As Double) breadth = bre End Sub Public Sub setHeight(ByVal hei As Double) height = hei End Sub Public Function getVolume() As Double Return length * breadth * height End Function End Class Sub Main() Dim Box1 As Box = New Box() ' Declare Box1 of type Box Dim Box2 As Box = New Box() ' Declare Box2 of type Box Dim volume As Double = 0.0 ' Store the volume of a box here ' box 1 specification Box1.setLength(6.0) Box1.setBreadth(7.0) Box1.setHeight(5.0) 'box 2 specification Box2.setLength(12.0) Box2.setBreadth(13.0) Box2.setHeight(10.0) ' volume of box 1 volume = Box1.getVolume() Console.WriteLine("Volume of Box1 : {0}", volume) 'volume of box 2 volume = Box2.getVolume() Console.WriteLine("Volume of Box2 : {0}", volume) Console.ReadKey() End Sub End Module |
هنگامی که کد بالا کامپایل و اجرا می شود، نتیجه زیر را ایجاد می کند.
1 2 | Volume of Box1 : 210 Volume of Box2 : 1560 |
دوستان متشکریم از این که با مباحث بررسی کلاس ها و اشیاء در VB.NET همراه هستید. در این بخش با تعریف کلاس و توابع عضو و کپسوله سازی آشنا شدیم. ادامه ی مباحث مربوط به کلاس ها و اشیاء در VB.NET رو در جلسه ی آینده خواهیم داشت. با وب سایت آموزشی پی وی لرن همراه باشید.