我正在尝试运行继承的示例,并且不知道为什么我的输出不正确。以下是代码。
class BankAccount():
def __init__(self):
self.balance=0
def deposit(self,amount):
self.balance += amount
print(self.balance)
def withdraw(self,amount):
self.balance -= amount
print(self.balance)
class MinimumBalance(BankAccount):
def __init__(self,min_bal):
BankAccount.__init__(self)
self.min_balance=min_bal
def withdraw(self,amount):
if self.balance - amount < self.min_balance:
print("Balance is LOW")
else:
BankAccount.withdraw(self,amount)
a=BankAccount()
b=MinimumBalance(50)
a.deposit(100)
b.withdraw(40)
输出结果为:
100
Balance is LOW
答案 0 :(得分:3)
您的MinimumBalance(50)
实例的余额为0. a
对象是独立的,它是一个单独的实例,它与该条目的平衡无关。 MinimumBalance()
类具有Balance
的所有功能,并进行了一些调整,因此您只需完全与b
实例进行交互。
在b
上存入余额:
b = MinimumBalance(50)
b.deposit(100)
b.withdraw(40)
答案 1 :(得分:0)
您的继承构造是正确的,但是您已经创建了两个对象。 MinimumBalance现在也是BankAccount但具有不同的撤销功能。您应该将其称为BankAccountWithMinimumBalance,而不是它。然后,您只需创建一个BankAccountWithMinimumBalance并使用它,而不是制作两个对象。