我有一个监视储蓄,支票和企业账户的银行账户程序,我希望能够在出现提示时将一些资金从储蓄账户转入支票账户。
我在储蓄类中有一个move_to_checking方法,在检查类中有一个grap_from_savings方法。通过从储蓄总额中删除给定的金额,move_to_checking方法可以按需工作,但是grap_from_savings方法不会将金额添加到核对总额。
class CheckingAccount(Account):
def __init__(self, cust_id, checking_total_amount):
Account.__init__(self, cust_id)
self.checking_total_amount = checking_total_amount
def grab_from_savings(self):
moved_amount = 0
moved_amount.move_to_checking()
self.checking_total_amount += moved_amount.move_to_checking()
return self.checking_total_amount
class SavingsAccount(Account):
def __init__(self, cust_id, savings_total_amount):
Account.__init__(self, cust_id)
self.savings_total_amount = savings_total_amount
def move_to_checking(self, amount_to_move):
if amount_to_move <= self.savings_total_amount:
self.savings_total_amount -= amount_to_move
return amount_to_move
else:
return "insufficient funds!"
chck_1 = CheckingAccount('Jackson', 200)
savings_1 = SavingsAccount('Jackson', 500)
savings_1.move_to_checking(100)
print(savings_1)
chck_1.grab_from_savings()
我希望结果产生储蓄帐户中剩余的$ 400,然后将$ 100添加到支票帐户,剩下$ 300。储蓄帐户打印$ 400,但支票显示AttributeError: 'int' object has no attribute 'move_to_checking'
。
答案 0 :(得分:0)
错误告诉您整数没有称为 __interface IEnumFilters;
typedef System::DelphiInterface<IEnumFilters> _di_IEnumFilters;
的方法。在move_to_checking
中,变量grab_from_savings
是整数零。
我认为,将面向对象领域的情况更好的方法是创建一个moved_amount
类,该类同时包含检查BankAccount
和节省Account
。这样,在帐户之间转移资金的语义就更有意义了。
Account