View Full Version : سوال فوری
shahrzad hasani
چهارشنبه 13 اسفند 1393, 19:21 عصر
چرا تولید کنندگان سی شارپ ،property را تعریف کردند؟
یا
تفاوت valiable با property چیست؟
!Hidden Hacker
جمعه 15 اسفند 1393, 14:19 عصر
با سلام
در برخی از زبانهای شیگرا (http://fa.wikipedia.org/wiki/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%8 6%D9%88%DB%8C%D8%B3%DB%8C_%D8%B4%DB%8C%E2%80%8C%DA %AF%D8%B1%D8%A7) ، ویژگیProperty حالتی از اعضای کلا (http://fa.wikipedia.org/wiki/%DA%A9%D9%84%D8%A7%D8%B3_(%D8%A8%D8%B1%D9%86%D8%A7 %D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8 C))سه که خصوصیاتی ما بین فیلد (http://fa.wikipedia.org/w/index.php?title=%D9%81%DB%8C%D9%84%D8%AF_(%D8%A8%D 8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88% DB%8C%D8%B3%DB%8C)&action=edit&redlink=1&preload=%D8%A7%D9%84%DA%AF%D9%88:%D8%A7%DB%8C%D8%A C%D8%A7%D8%AF+%D9%85%D9%82%D8%A7%D9%84%D9%87/%D8%A7%D8%B3%D8%AA%D8%AE%D9%88%D8%A7%D9%86%E2%80%8 C%D8%A8%D9%86%D8%AF%DB%8C&editintro=%D8%A7%D9%84%DA%AF%D9%88:%D8%A7%DB%8C%D8 %AC%D8%A7%D8%AF+%D9%85%D9%82%D8%A7%D9%84%D9%87/%D8%A7%D8%AF%DB%8C%D8%AA%E2%80%8C%D9%86%D9%88%D8%A A%DB%8C%D8%B3&summary=%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF+%DB%8C%DA%A 9+%D9%85%D9%82%D8%A7%D9%84%D9%87+%D9%86%D9%88+%D8% A7%D8%B2+%D8%B7%D8%B1%DB%8C%D9%82+%D8%A7%DB%8C%D8% AC%D8%A7%D8%AF%DA%AF%D8%B1&nosummary=&prefix=&minor=&create=%D8%AF%D8%B1%D8%B3%D8%AA+%DA%A9%D8%B1%D8%AF %D9%86+%D9%85%D9%82%D8%A7%D9%84%D9%87+%D8%AC%D8%AF %DB%8C%D8%AF&withJS=MediaWiki:Intro-Welcome-NewUsers.js) و متد (http://fa.wikipedia.org/w/index.php?title=%D9%85%D8%AA%D8%AF_(%D8%A8%D8%B1%D 9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C% D8%B3%DB%8C)&action=edit&redlink=1&preload=%D8%A7%D9%84%DA%AF%D9%88:%D8%A7%DB%8C%D8%A C%D8%A7%D8%AF+%D9%85%D9%82%D8%A7%D9%84%D9%87/%D8%A7%D8%B3%D8%AA%D8%AE%D9%88%D8%A7%D9%86%E2%80%8 C%D8%A8%D9%86%D8%AF%DB%8C&editintro=%D8%A7%D9%84%DA%AF%D9%88:%D8%A7%DB%8C%D8 %AC%D8%A7%D8%AF+%D9%85%D9%82%D8%A7%D9%84%D9%87/%D8%A7%D8%AF%DB%8C%D8%AA%E2%80%8C%D9%86%D9%88%D8%A A%DB%8C%D8%B3&summary=%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF+%DB%8C%DA%A 9+%D9%85%D9%82%D8%A7%D9%84%D9%87+%D9%86%D9%88+%D8% A7%D8%B2+%D8%B7%D8%B1%DB%8C%D9%82+%D8%A7%DB%8C%D8% AC%D8%A7%D8%AF%DA%AF%D8%B1&nosummary=&prefix=&minor=&create=%D8%AF%D8%B1%D8%B3%D8%AA+%DA%A9%D8%B1%D8%AF %D9%86+%D9%85%D9%82%D8%A7%D9%84%D9%87+%D8%AC%D8%AF %DB%8C%D8%AF&withJS=MediaWiki:Intro-Welcome-NewUsers.js) داره.
اونا مثل فیلدها قابلیت خواندن و نوشتن دارن ولی خوندن و نوشتن در انونها (معمولاً) به فراخوانی یک تابع میانجامه.
زبانهایی که property رو پشتیبانی میکنن شامل دلفی (http://fa.wikipedia.org/wiki/%D8%AF%D9%84%D9%81%DB%8C)٬ ویژوال ؛ بیسیک ؛ سیشارپ (http://fa.wikipedia.org/wiki/%D8%B3%DB%8C%E2%80%8C%D8%B4%D8%A7%D8%B1%D9%BE) و بسیاری از زبانهای شیگرا را شامل میشه ولی بعضی از زبانهای شی گرا مثل جاوا (http://fa.wikipedia.org/wiki/%D8%AC%D8%A7%D9%88%D8%A7) این قابلیت را به صورت محدودتری دارن.
بعدشم در جواب سؤال دوّمتون کارکرد هر دو تقریباً یکسانه اما یه تفاوت ریز وجود داره
ما میتونیم تغییر بدیم یا محاسبات انجام بدیم قبل از اینکه یه Value به property اختصاص بدیم اما توی variable همچین امکانی نیست
مثال زیر رو یه نگاه بندازین:
;private string name
public string Name
}
get
{;return "Mr."+ name}
set
{;name ="Mr." + value}
{
در مثال بالا ما Mr رو انتساب دادیم به name که بهش اختصاص داده شده
به همین صورت ما میتونیم خیلی از محاسبات رو قبل از اختصاص دادن value به property ها انجام بدیم
ولی اینکار در variable های ساده اصلاً امکان پذیر نیست
امیدوارم که منظورمو متوجه شده باشین
موفق باشید.
shahrzad hasani
جمعه 15 اسفند 1393, 15:43 عصر
خیلی ممنونم.لطف کردین
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.