【发布时间】:2021-07-09 02:21:26
【问题描述】:
我正在尝试从它继承的类中调用在子类中找到的方法。
class Account:
def __init__(self, full_name):
self.full_name = full_name
class Transactions(Account):
def __init__(self, full_name, amount=0):
super().__init__(full_name)
self._transactions = []
def add_transaction(self, amount):
if not isinstance(amount, int):
return ValueError('Please use an int.')
self._transactions.append(amount)
acc_0 = Account('Forest Whitaker')
我想使用 acc_0 的信息调用函数“add_transaction()”。不知道我是不是想多了,但是我该怎么做呢?
旁注:如果有人熟悉 rbx.lua,在这种情况下,我会尝试做这样的事情:acc_0.Transactions.add_transaction(50)
【问题讨论】:
-
这不是继承的目的。
Account的具体实例没有add_transaction方法,因为它不是Transaction。您创建的继承层次结构说“每笔交易都是一个帐户”,但不是相反 -
acc_0 = Account('Forest Whitaker', '12/9/2000', 9) 应该给您一个错误,请尝试改用 Transactions 类
标签: python inheritance methods subclass super