سلام
تفاوت property با متغیر چیست؟
سلام
تفاوت property با متغیر چیست؟
سلام
متغییر ها مقادیر مستقیمی هستند که در خانه ای در RAM سیستم نگه داری میشوند.
در مقابل property ها کاملا متفاوت هستند ودر واقع یک یا دو تابع (method-function-sub ...) هستند.
توضیح بیشتر:
وقتی شما متغییر int AAA را تعریف میکنید، در واقع دارید برای چهار بایت از RAM به یک آدرسی که بعدا در اجرا برنامه مشخص میشود، نام مجازی AAA را بین خودتان وکامپایلر تعریف میکنید.
اما تعریف int BBB {get... set...} در واقع تعریف دوتابع به شکل زیر است:
در برخی زبان ها (مانند Java) این مفهوم property بدین شکل وجود ندارد ...کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این property ها چون ماهیت تابعی دارند میتوانند محاسباتی روی مقادیر انجام دهند و چیزی را برگردانند.
مثلا یک property را فرض کنید که تعداد را در قیمت واحد ضرب میکند وقیمت محصول را برمیگرداند.
برای انواع کارها، دست برنامه نویس روی property باز است(چون یک تابع است)...
مانند سایر توابع میتوان مفاهیم پلیمورفیزمی و وراثتی و override و proxy و wrapper و validation ... را در آنها پیاده سازی کرد.
بدون تغییر در کدهای دیگر، میتوان امروز به سادگی یک متغییر را در آن return کرد و فردا کدرا عوض کرد تا از محاسبه مقادیر متعدد دیگریخروجی را در لحظه تولید کند...
میتوان ورودی ها را قبل ریختن در متغییرهای اصلی، اعتبار سنجی کرد (مثلا تا مطمئن شد، عددی که وارد میشود منفی نباشد و...)
زیاد میتوان حرف زد ...
ولی اصل مطلب درک تفاوت متغییر(variant) و تابع(method) است ...
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)