1 # 1,创建一个游戏类
2 class Game(object):
3 # 定义类属性:历史最高分(直接用=赋值定义)
4 top_score = 0
5 # 定义初始化方法,并把实例属性:游戏玩家作为形参传入
6
7 def __init__(self,player_name): # 构造方法
8 self.player_name = player_name # 定义实例属性
9
10 # 定义静态方法:帮助信息,既不需要访问类属性也不需要访问实例属性
11 @staticmethod
12 def show_help():
13 print("""
14 帮助信息如下:
15 实例方法:方法内部需要访问的实例属性。实例方法内部可以使用 类名. 访问属性
16 类方法:方法内部只需要访问类属性
17 静态方法:方法内部不需要访问实例属性和类属性
18 如果方法内部,既要访问实例属性,又要访问类属性,应该定义实例方法。因为类只有一个,在实例方法内部可以使用 类名. 访问类属性。
19 """)
20
21 # 定义类方法:显示历史记录最高分,调用类属性:历史最高分top_score
22 @classmethod
23 def show_top_score(cls):
24 print("历史最高分:%d"%cls.top_score)
25
26 # 定义实例方法:开始当前玩家的游戏
27 def start_game(self):
28 print("%s开始游戏啦!"%self.player_name)
29
30
31 # 调用静态方法,查看帮助信息
32 Game.show_help()
33
34 # 调用类方法,显示历史最高分
35 Game.show_top_score()
36
37 # 创建游戏对象,调用类的实例方法,开始游戏
38 game1 = Game("Tom")
39 # Game.start_game(game1)
40 game1.start_game()