واضح آرشیو وب فارسی:سایت ریسک: اگه ميشه رويه property رو برام توزيح بدين - ویژوال بیسیک he he he 11 خرداد 1388, 11:02اين مثالها خيلي حرفه اي بودن فقط از يكيشون سردار آوردم اگه ميشه رويه property رو برام توزيح بدين براي اينكه در برنامه نويسي پيشرفت كنم چه كتابي معرفي ميكنين؟ the_king 11 خرداد 1388, 22:17اين مثالها خيلي حرفه اي بودن فقط از يكيشون سردار آوردم اگه ميشه رويه 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
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 453]