我如何在另一个类中使用一个类中的方法(可能)

时间:2019-05-23 02:00:36

标签: python oop methods

我有一个监视储蓄,支票和企业账户的银行账户程序,我希望能够在出现提示时将一些资金从储蓄账户转入支票账户。

我在储蓄类中有一个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'

1 个答案:

答案 0 :(得分:0)

错误告诉您整数没有称为 __interface IEnumFilters; typedef System::DelphiInterface<IEnumFilters> _di_IEnumFilters; 的方法。在move_to_checking中,变量grab_from_savings是整数零。

我认为,将面向对象领域的情况更好的方法是创建一个moved_amount类,该类同时包含检查BankAccount和节省Account。这样,在帐户之间转移资金的语义就更有意义了。

Account