Ví dụ 1: một tài khoản tiết kiệm bị hạn chế
Cho đến bây giờ, các ví dụ của chúng ta tập trung vào các savings accounts thông thường. Các banks
cũng cung cấp khách hàng với các savings accounts hạn chế. Những cái này như các savings accounts thông
thường trong hầu hết cách, nhưng với một vài đặc tính đặc biệt, như chỉ cho phép một số nhất định các
deposits hay withdrawals một tháng. Hãy giả sử rằng một savings account có một tên, một PIN và một
balance. Bạn có thể thực hiện đặt tiền và rút tiền và truy cập các thuộc tính của tài khoản. Hãy giả
sử rằng savings account hạn chế này chỉ cho phép 3 rút tiền mỗi tháng. Phiên làm việc tiếp theo thể
hiện một tương tác với một RestrictedSavingsAccount cái cho phép lên tới 3 rút tiền:
>>> account = RestrictedSavingsAccount(“Ken”, “1001”, 500.00)
>>> print(account)
Name: Ken
PIN: 1001
Balance: 500.0
>>> account.getBalance()
500.0
>>> for count in range(3):account.withdraw(100)
>>> account.withdraw(50)
‘No more withdrawals this month’
>>> account.resetCounter()
>>> account.withdraw(50)
Lần rút thứ tư không có tác dụng lên tài khoản, và nó trả về một thông điệp lỗi. Một phương thức mới
tên resetCounter được gọi để làm có thể các rút tiền cho tháng tiếp theo.
