[英]How do I refactor different classes with the same methods in Python?
在這個最小的工作示例中,A 類和 B 類做同樣的事情,但它們的方法略有不同。 他們將項目保存到各自的列表中並顯示出來。 但是,我想定義一個抽象的 Save 類,它在這里重構了很多重復的代碼。 有沒有辦法做到這一點?
class A():
def __init__(self):
self.items = []
def save(self, item):
item = "This is {}".format(item)
self.items.append(item)
def display(self):
return self.items
class B():
def __init__(self):
self.items = []
def save(self, item):
item = "This is {}...!".format(item)
self.items.append(item)
def display(self):
return self.items
a = A()
a.save('A')
a.save('B')
print(a.display())
b = B()
b.save('C')
b.save('D')
print(b.display())
輸出
['This is A', 'This is B']
['This is C...!', 'This is D...!']
class Save:
def __init__(self):
self.items = []
def save(self, item):
item = self.format_item(item)
self.items.append(item)
def display(self):
return self.items
class A(Save):
def format_item(self, item):
return 'This is {}'.format(item)
class B(Save):
def format_item(self, item):
return 'This is {}...!'.format(item)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.