Python 3类继承:Police Officer>Police Chi

2024-09-25 06:35:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试着把注意力集中在类继承上。我想要一个police_officer类和一个police_chief类。我希望我的长官拥有特别的权力,同时也拥有和他的官员一样的权力。到目前为止,我掌握的情况如下:

class police_officer(object):
    def __init__(self, name):
        self.name = name

    def arrest(self, criminal):
        print(criminal + ' is under arrest!')
        jail.append(criminal)


class police_chief(police_officer):
    def fire_officer(self, officer):
        print(officer.name + ' was fired!')
        officers.remove(officer)


jail = []
officers = []

suspects = ['Joseph', 'Charles', 'Eric']

officers.append(police_officer('Edward'))
officers.append(police_officer('Jerry'))
officers.append(police_officer('Robert'))

chief = police_chief(officers[0])

officers[1].arrest(suspects[2])
chief.fire_officer(officers[2])

这似乎是我想要的工作方式,但现在我想给我的首席类一个def retire(self, new_chief)函数,他可以退休,让一个已经存在的官员成为首席,而不是一个全新的police_chief。如果我能想出一个办法,让局长再次成为正式军官,同时也能选择下一任局长应该是谁,那就更好了。我希望我对我要做的事情已经足够清楚了,我对Python还是相当陌生的。谢谢!你知道吗


Tags: nameselfdefclassprint权力appendchief