换一个存储,Reporter 一行没改
三个形状:长方形 3×4、正方形边长 5、三角形底 6 高 5。Reporter 收的是"能 save 的东西",塞两种不同的存储各跑一次:
class MemStore:
"""存在内存里"""
def __init__(self):
self.box = []
def save(self, text):
self.box.append(text)
class LoudStore:
"""存的时候加个前缀(接口和 MemStore 一样)"""
def __init__(self):
self.box = []
def save(self, text):
self.box.append("[存]" + text)
class Reporter:
"""依赖的是"能 save 的东西",不是某一个具体的类"""
def __init__(self, store):
self.store = store
def report(self, area):
self.store.save("面积=" + str(area))
a = MemStore()
Reporter(a).report(12)
b = LoudStore()
Reporter(b).report(12)
print(a.box[0] + "|" + b.box[0])
全部评论