一个类干了三件事
三个形状:长方形 3×4、正方形边长 5、三角形底 6 高 5。这个类既算面积、又排版、又负责存:
class ShapeReport:
"""一个类干了三件事:算面积、排版成文字、写进文件"""
def __init__(self, w, h):
self.w, self.h = w, h
def area(self): # 理由一:面积算法变了
return self.w * self.h
def to_text(self): # 理由二:报表格式变了
return "面积=" + str(self.area())
def save(self, box): # 理由三:存储方式变了
box.append(self.to_text())
r = ShapeReport(3, 4)
box = []
r.save(box)
print(str(r.area()) + "/" + box[0])
全部评论