現在要設計一個Game類,有兩個屬性,top_score記錄遊戲歷史最高分,player_name記錄玩家姓名
關於方法,定義三個方法:靜態方法(@staticmethod)show_help顯示遊戲幫助資訊;
類方法(classmethod)show_top_score顯示歷史最高分;
例項方法()start_game開始遊戲
class Game(object): top_score = 0 def __init__(self,player_name): self.player_name = player_name @staticmethod def show_help(): print("幫助資訊:如何開始玩遊戲") @classmethod def show_top_score(cls): print("歷史記錄%d" % cls.top_score) def start_game(self): print("%s開始遊戲"%self.player_name)Game.show_help()Game.show_top_score()game = Game("小明")game.start_game()
總結:
當方法內部需要訪問例項屬性時(start_game),就需要定義例項方法。
當方法只用來訪問類屬性(top_score),需要定義為類方法。
當例項屬性和類屬性都不訪問時(),可以定義為靜態方法。
當既要訪問例項屬性,又要訪問類屬性時,可以定義成例項屬性,因為類只有一個,在例項方法內部可以使用類名.訪問類屬性。
最新評論