[英]Python Inheritance - What am I doing wrong?
我試圖運行一個繼承示例,但不知道為什么我的輸出不正確。 下面是代碼。
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
您的MinimumBalance(50)
實例的余額為0。 a
對象是獨立的,它是一個單獨的實例,該條目具有的余額無關緊要。 MinimumBalance()
類具有Balance
所有功能,並進行了一些調整,因此您只需要與b
實例完全交互即可。
而是將余額存入b
:
b = MinimumBalance(50)
b.deposit(100)
b.withdraw(40)
您的繼承結構正確,但是您已經創建了兩個對象。 MinimumBalance現在也是一個BankAccount,但具有不同的提款功能。 您應該將其稱為BankAccountWithMinimumBalance。 然后,您只需創建一個BankAccountWithMinimumBalance並使用它,而不是創建兩個對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.