اگه ميشه رويه property رو برام توزيح بدين - ویژوال بیسیک

he he he

New Member
اين مثالها خيلي حرفه اي بودن فقط از يكيشون سردار آوردم
اگه ميشه رويه property رو برام توزيح بدين
براي اينكه در برنامه نويسي پيشرفت كنم چه كتابي معرفي ميكنين؟
 

the_king

مدیرکل انجمن
I

اين مثالها خيلي حرفه اي بودن فقط از يكيشون سردار آوردم
اگه ميشه رويه property رو برام توزيح بدين
Property به برنامه نویس این امکان رو میده که برای UserControl ها و Class هایش یک سری مقادیر ورودی
و خروجی را به شکل دلخواهی کنترل کنه، مثلا ممکنه شما بخواهید یک متغیر Month رو برای مشخص کردن
ماه (1 الی 12) ایجاد کنید. شما می توانید به سادگی یک متغیر ساده Integer یا Long بسازید که مقدار
ماه را ذخیره کند، اما مثلا اگر مقدار 13 در آن ذخیره شود، نه شما متوجه خواهید شد و نه روی عدم اعتبار این
مقدار کنترلی دارید :

کد:
    Dim Month As Long

اما با استفاده از Property ها شما می توانید یک متغیر ساده مثل m را بطوری برای ذخیره سازی متغیر ظاهری
Month استفاده کنید که هر مقداری را قبول نکند، مثلا فقط از 1 الی 12 را ذخیره کند. یا مثلا اگر کاربر سعی کرد
که مقدارش را بخواند و یا بنویسد، شما به عنوان برنامه نویس مطلع شوید و کاری خاصی را انجام دهید :
کد:
Private m As Long

Public Property Get Month() As Long
    Month = m
End Property

Public Property Let Month(ByVal value As Long)
    m = value
End Property

اگر کد بالا را با دقت بررسی کنید، خواهید دید که خود Property به دو بخش تقسیم شده، Get مقدار m را می خواند و
Let آنرا می نویسد، حتی الزامی نیست که هر دو حالت وجود داشته باشند، مثلا یک متغیر Read-Only می تواند
اصلا Let نداشته باشد و فقط بتوان آنرا خواند (Get کرد). متغیر m همان متغیر اصلی ماست و چون private
است، از بیرون بدنه UserControl یا Class پنهان است، اما Month یک روکش ظاهری به دور آن ایجاد می کند
که چون public است، از بیرون از بدنه نیز قابل دسترسی است.

در کد زیر ما با تغییر کد بخش Let کاری می کنیم که Month اعداد خارج از محدوده 1 الی 12 را رد کند :
کد:
Public Property Let Month(ByVal value As Long)
    If value >= 1 And value <= 12 Then m = value
End Property
 

جدیدترین ارسال ها

بالا