面向对象设计思想四大原则

"""
   创建图形管理器
   四大原则:
      开闭原则:增加新图形
      单一职责:Rectanlge负责矩形面积的算法,Circle负责图形面积的算法,
      GraphicManager负责统一管理图形
      依赖倒置:图形管理器没有调用圆形,矩形算法,而是调用图形类
      组合复用:图形管理器与各种图形是组合关系
"""
class GraphicManager:
    def __init__(self):
        self.__graphics = []
    def add_graphic(self,graphic):
        self.__graphics.append(graphic)
    def calculate_total_area(self):
        total_area = 0
        for item in self.__graphics:
            total_area +=item.get_area()
        return total_area
class Graphic:
    def get_area(self):
          pass
class Rectanlge(Graphic):
    def __init__(self,length,width):
        self.length = length
        self.width = width
    def get_area(self):
        return self.length*self.width

manager = GraphicManager()
manager.add_graphic(Rectanlge(1,3))
print(manager.calculate_total_area())

おすすめ

転載: blog.csdn.net/jtpython666/article/details/120802146