⚠️ 自己 new 一个,就换不掉了
这一版把存储写死在构造函数里:
class MemStore:
def __init__(self):
self.box = []
def save(self, text):
self.box.append(text)
class HardReporter:
"""写死了:自己 new 一个具体的存储"""
def __init__(self):
self.store = MemStore() # ← 依赖倒不过来了
def report(self, area):
self.store.save("面积=" + str(area))
r = HardReporter()
r.report(12)
# 想换成别的存储?只能改 HardReporter 这一行
print(r.box[0] if hasattr(r, "box") else r.store.box[0])
全部评论