[英]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.