如何创建具有相同功能的多个类

时间:2015-08-29 09:27:54

标签: python class python-2.7

因此,出于某种原因,我必须创建多个类。 就像这段代码一样

class Myclass1:
    do_x

class Myclass2:
    do_x

class Myclass3:
    do_x

目前,我可以通过一遍又一遍地复制 do_x 来做到这一点。但似乎没有效果。还有更好的主意吗?

2 个答案:

答案 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