ویژگی (property) های کلاس ها
از ویژگی ها برای مدیریت اتریبیوت های آبجکت ها استفاده میشه. اونها یکی از جوانب مهم و قدرتمند برنامه نویسی شی گرا هستن اما اول کار باهاشون میتونه سخت باشه. برای مثال فرض کنید یک آبجکت دارید که یک اتریبیوت height (ارتفاع) و یک اتریبیوت width (عرض) داره. حالا میخوایم که آبجکتمون یک ویژگی area (مساحت) هم داشته باشه. حالا ترجیحمون بر اینه که این ویژگی رو به عنوان یک اتریبیوت ذخیره نکنیم، چون اونوقت ر بار که یکی از اتریبیوت های ارتفاع یا عرض آپدیت میشه باید مساحت رو هم دستی عوض کنیم. توی یه همچین سناریو هایی باید از ویژگی ها استفاده کنیم.
اول کار میریم سراغ دکوراتور property و بعدش پاردایم getter (دریافت کننده) / setter (تنظیم کننده / اختصاص دهنده) رو بررسی میکنیم.