2013-03-14 39 views
1

这是我的课:我如何创建派生类与某些构造函数? (蟒蛇)

class Player(object): 
    def __init__(self, playernum): 
    self.playernum = playernum 

    def play_turn(self, board): 
     """This method is passed an instance of ConnectFour. 
      It should examine the board (using methods on the ConnectFour class... 
      assume you have it) and eventually call board.play_turn and return""" 
    pass 

到目前为止,我明白,如果我做的:

class Human(Player): 

它会使人()派生类播放器。

我想要做的是在这个类中有一个构造函数playernum。然后采取重写play_turn并打印玩家数(即playernum)...我只是想知道如何做到这一点来实现......做我重复

def play_turn(self,board): 

人力类的内部或者我干脆把

class Human(Player): 
    play_turn 

和内部

play_turn(self,board): 
    "put" 
    print playernum 

我有点新的类派生和它背后的逻辑。任何意见将不胜感激。谢谢。

+0

究竟你的意思通过“构造函数playernum”?构造函数是__init__函数(从类内部)或者调用类本身(从类外部)。所以这句话没有任何意义。 – abarnert 2013-03-14 20:43:29

+0

@abarnert我的意思是Player类中的playernum在Human类的参数中使用,所以我可以使用playernum – koala421 2013-03-14 20:56:27

回答

4

你是正确的重写父类的方法,你'重复'派生类中的方法。您的代码应该结束了看起来像:

class Human(Player): 
    def play_turn(self, board): 
     print self.playernum 

如果play_turn应该是包含共享的逻辑及其派生类,你要拨打的父母的方法首先:

class Human(Player): 
    def play_turn(self, board): 
     super(Human, self).play_turn(board) 
     print self.playernum 
+0

如果我想在这个类中添加一个提示,我只是把'var = raw_input(“哪一列你想放弃芯片?“),然后用'print var'打印出来?看来我正在推翻这个... – koala421 2013-03-14 20:54:31

相关问题