因此,出于某种原因,我必须创建多个类。 就像这段代码一样
class Myclass1:
do_x
class Myclass2:
do_x
class Myclass3:
do_x
目前,我可以通过一遍又一遍地复制 do_x 来做到这一点。但似乎没有效果。还有更好的主意吗?
答案 0 :(得分:1)
你要做的是继承。
class Myclass:
def do_x(self):
pass
class My_child(Myclass):
def do_x(self):
print("I am the chile class")
class My_2nd_child(Myclass):
def do_x(self):
print("I am the 2nd child")
本例中的基类有方法do_x的存根。
子类重写该方法以实现自己的行为。
继承主要用于代码重用(DRY原则)
答案 1 :(得分:1)
继续@Reblochon Masque给出的答案......
使用super
方法的另一个优点是与父方法一起执行子类方法。
class Myclass(object):
def do_x(self):
print 'In parent Class'
class Myfirstchild(Myclass):
def do_x(self):
print 'In child class';
super(Myfirstchild, self).do_x()
这里的输出/结果是
In child class
In parent Class