يعني إيه؟
زي ماكينة البيع! سلوكها بيتغير حسب حالتها.
"مستني فلوس" ≠ "مستني اختيار" ≠ "بيطلع المنتج" 🏧
insertMoney() → يتقبل الفلوس ويغير للحالة التانية
selectProduct() → يختار المنتج ويبدأ التسليم
dispense() → يطلع المنتج ويرجع للبداية