خوش برگشتید.
در این ویدئو می‌خوام سریع نشون بدم که چیزی به اسم پراپرتی محاسبه‌ای هم وجود داره.
حالا پراپرتی محاسبه‌ای چیه؟
پراپرتی محاسبه‌ای پراپرتیه که بر اساس مقدارهای پراپرتی‌های دیگه محاسبه میشه.
پس خودش مقداری ذخیره نمی‌کنه، همیشه به پراپرتی‌های دیگه وابسته‌ست.
اینجا مساحت همیشه میشه عرض ضربدر ارتفاع.
پس هر وقت بخوای مساحت رو بگیری، برمی‌گردونه عرض ضربدر ارتفاع.
setنمی‌تونی مساحت رو چه اتفاقی بیفته. set کنی چون تعریف نکردیم موقع شدن
بیا ببینیم وقتی واقعاً داریم به مساحت دسترسی پیدا می‌کنیم چه شکلی میشه.
لازم نیست از همین کد استفاده کنی.
لازم نیست دقیقاً اینو بنویسی.
فقط می‌خواستم سریع نشون بدم چیزی به اسم پراپرتی محاسبه‌ای وجود داره.
حالا فرض کن یه مستطیل R1 بسازیم که مساوی باشه با یه مستطیل جدید.
خب.
حالا می‌تونم R1.width رو برابر ۵ بذارم و R1.height رو هم ۵.
Console.WriteLineبعد با R1 میگم مساحت برابر هست با و بعد مقدار مساحت.
یعنی R1.area.
R1حالا اجرا کنیم، می‌بینیم مساحت میشه ۲۵.
حالا اگه بخوام مستقیم مساحت رو تغییر بدم.
R1.areaمثلاً مساوی ۵.
setterمی‌بینی که کار نمی‌کنه چون هیچ براش تعریف نکردیم.
پس خطا میده: این پراپرتی فقط خوندنیه.
یعنی در واقع این میشه read-only چون فقط getter داره.
setter نداره.
getterپس اگه فقط داشته باشی، پراپرتی فقط خوندنی میشه.
یعنی read-only.
و اگه فقط setter داشته باشی، میشه write-only.
خب، این مثالیه از یه پراپرتی فقط خوندنی که همزمان محاسبه‌ای هم هست.
که خودش مقداری ذخیره نمی‌کنه.
هر وقت بهش دسترسی پیدا می‌کنی، یه مقدار بهت برمی‌گردونه.
چطوری مقدار رو میده؟
با انجام محاسبه بر اساس مقدارهای دیگه یا پراپرتی‌های دیگه‌ای که داری.
پس این یه مثال از پراپرتی محاسبه‌ای بود.
constructorراستی، می‌بینی که حتی هم برای مستطیل تعریف نکردیم.
constructorچون به صورت پیش‌فرض خالی در نظر گرفته میشه.
پس می‌بینی می‌تونیم یه مستطیل جدید بسازیم بدون اینکه constructor بنویسیم.
اونم جواب میده.
خب، همین برای این ویدئو کافیه.
تو ویدئوی بعد می‌بینمت.