الدرس 10: setter والتحقق من الصحة
الخاصية بدون setter تمنع كل تحديث — لكن أحياناً يكون التحديث هو بالضبط ما نحتاجه، فقط بأمان. اليوم نضيف @balance.setter مع التحقق من الصحة: القيمة الصالحة تدخل، والقيمة الخاطئة تُوقَف بـ raise. هذه ذروة وحدة التغليف (encapsulation).
الـ setter مثل حارس عند باب النادي: كل قيمة تريد الدخول تخضع للفحص — من يلتزم بالقواعد يدخل، ومن لا يلتزم يُوقَف عند الباب مع توضيح.
- setter (أداة الضبط)
- دالة مُعلَّمة بـ @name.setter تعمل تلقائياً عند كل إسناد إلى الخاصية — المكان المناسب لفحص القيمة الواردة.
- التحقق من الصحة
- فحص أن القيمة صالحة قبل تخزينها — ورفضها بـ raise عندما لا تكون كذلك.