Python - 面向对象编程 - 实战(5)
2021-09-06 22:41
666 查看
前言
主要是针对静态方法、类方法、实例方法、类属性、实例属性的混合实战
需求
设计一个 Game 类
属性
- 定义一个类属性 top_score 记录游戏的历史最高分,这个属性很明显只跟游戏有关,跟实例对象无关,所以定义为类属性
- 定义一个实例属性 player_name 记录当前游戏的玩家姓名
方法
- 静态方法:showHelp,显示游戏帮助信息,这个方法不需要访问类属性,也不需要访问实例属性,所以可以定义为静态方法
- 类方法:showTopScore,显示历史最高分,只需要访问类属性,所以定义为类方法
- 实例方法:startGame,开始游戏,由实例对象调用
主程序
- 查看帮助信息
- 查看历史最高分
- 创建游戏对象,开始游戏
- 更新历史最高分
类图
实际代码
class Game: # 历史最高分 __top_score = 0 def __init__(self, player_name): # 定义实例属性 self.__player_name = player_name @staticmethod def showHelp(): print("游戏帮助...help") @classmethod def showTopScore(cls): return cls.__top_score @classmethod def setTopScore(cls, score): cls.__top_score = score def startGame(self, score): # 1、玩游戏 print(f"{self.__player_name} 开始玩游戏了...") # 2、拿到分数,更新最高分 if score > self.showTopScore(): self.setTopScore(score) player1 = Game("小菠萝") # 1、玩家查看游戏帮助 player1.showHelp() # 2、查看游戏最高分 print(player1.showTopScore()) # 3、开始游戏 player1.startGame(90) # 4、查看游戏最高分 print(player1.showTopScore()) # 输出结果 游戏帮助...help 0 小菠萝 开始玩游戏了... 90
相关文章推荐
- [Python 实战] - No.8 Python面向对象编程
- Python实战教程100天:Day08-面向对象编程基础
- Python - 面向对象编程 - 实战(4)
- 视频教程-Python3网络爬虫基础实战 -Python
- python 实战12 列表元素绝对值排序
- python(嵌套函数,面向对象编程)
- 【实战】Build a Python environment on Windows,On December 24, 2014
- 机器学习实战-边学边读python代码(4)
- Selenium2 Python 自动化测试实战学习笔记(六)
- python学习笔记--面向对象编程(OOP)
- python实战游戏开发——开始游戏项目
- Python学习笔记:3.3.6 项目实战:使用SDK实现语音合成
- 【python】面向对象编程
- Python3.6基础知识--面向对象编程OOP 在PyCharm终端使用conda命令新建添加虚拟环境
- 学习笔记(11):Python实战编程-while循环
- 学习笔记(4):零基础掌握 Python 入门到实战-深入浅出字符串(一)
- Selenium2 Python 自动化测试实战学习笔记(二)
- python3 爬虫 xicidaili.com 实战
- Python面向对象编程-封装
- Python基础学习代码之面向对象编程