Cấu trúc các classes với kế thừa và đa hình Python (phần 5)

Ví dụ 1: một tài khoản tiết kiệm bị hạn chế (tiếp tục)

RestrictedSavingsAccount constructor trước tiên gọi constructor trong SavingsAccount class để khởi tạo
các biến thực thể cho tên, PIN và balance định nghĩa ở đó. Cú pháp sử dụng tên class trước dấu chấm,
và công khai bao gồm self như đối số đầu tiên. Hình thức chung của cú pháp cho gọi một phương thức
trong class cha từ bên trong một phương thức với cùng tên trong một class phụ đi theo:

<parent class name>.<method name>(self, <other arguments>)

Tiếp tục trong RestrictedSavingsAccount’s constructor, biến thực thể mới counter sau đó được thiết
lập thành 0. Quy tắc chủ chốt để nhớ khi viết constructor cho một class phụ là rằng mỗi class chịu
trách nhiệm cho khởi tạo các biến thực thể của bản thân nó. Vì vậy, constructor của class cha luôn
nên được gọi để làm cái này.
Phương thức withdraw được định nghĩa lại trong RestrictedSavingsAccount để ghi đè định nghĩa của
cùng phương thức trong SavingsAccount. Bạn cho phép một rút tiền chỉ khi giá trị của counter là nhỏ
hơn tối đa, và bạn tăng một đơn vị counter chỉ sau khi một rút tiền là thành công. Chú ý rằng phiên
bản này của phương thức gọi cùng phương thức trong cha hay siêu class để thực hiện rút tiền thực.
Cú pháp cho cái này là tương tự như được sử dụng trong constructor.
Cuối cùng, phương thức mới resetCounter được bao gồm để cho phép người dùng tiếp tục rút tiền trong
tháng tiếp theo.

Chia sẻ