Python面向对象编程:构建游戏和GUI(艾维·卡尔布(IrvKalb))

书: https://pan.baidu.com/s/1o53U8DJYBlzPKes4X47C8Q?pwd=ymj8
笔记如下:

  1. “OOP的核心是‘万物皆对象’,类(Class)是蓝图,对象(Object)是具体实例。”
  2. “封装(Encapsulation)通过私有属性(self.__private_var)和方法隐藏内部细节,仅暴露接口。”
  3. “继承(Inheritance)实现代码复用,class Player(Character):表示玩家类继承自角色基类。”
  4. “多态(Polymorphism)允许子类重写父类方法,调用时自动匹配具体实现。”
  5. super().__init__()调用父类构造方法,确保基类属性正确初始化。”
  6. “组合优于继承:self.weapon = Sword()将武器对象作为属性,而非继承武器类。”
  7. “游戏循环(Game Loop)三要素:处理输入→更新状态→渲染画面,pygame.time.Clock()控制帧率。”
  8. “Pygame的Sprite类管理游戏角色,Group类批量更新和绘制精灵。”
  9. “事件驱动编程:pygame.event.get()捕获键盘/鼠标事件,event.type == QUIT处理退出。”
  10. “Tkinter的Canvas组件绘制图形,create_rectangle()create_text()构建GUI元素。”
  11. pack()grid()place()是Tkinter的三大布局管理器,grid()最灵活。”
  12. “观察者模式(Observer)实现GUI事件响应:按钮绑定command=回调函数。”
  13. “游戏碰撞检测:pygame.sprite.collide_rect()检查矩形碰撞,mask处理像素级精度。”
  14. “状态模式(State Pattern)管理游戏场景:self.state = MenuState()动态切换行为。”
  15. @property装饰器将方法转为属性,如player.health自动触发血量校验。”
  16. “单例模式(Singleton)确保全局唯一实例,如游戏配置管理器ConfigManager()。”
  17. pickle模块序列化游戏存档,保存对象状态到文件。”
  18. “动画原理:逐帧更新精灵的rect位置,image属性切换贴图。”
  19. “MVC架构分离游戏逻辑(Model)、显示(View)和控制(Controller),提升可维护性。”
  20. “OOP设计心法:‘先画UML类图,再写代码;优先组合,谨慎继承’。”

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注