Python基本方法覆盖
示例
下面是基本首要的在Python一个例子(为了清楚起见,用两个Python2和3的相容性的目的,使用新的风格类和print同()):
class Parent(object): def introduce(self): print("Hello!") def print_name(self): print("Parent") class Child(Parent): def print_name(self): print("Child") p = Parent() c = Child() p.introduce() p.print_name() c.introduce() c.print_name() $ python basic_override.py Hello! Parent Hello! Child
当Child被创建的类,它继承的方法Parent类。这意味着父类具有的任何方法,子类也具有。在该示例中,introduce为Child类定义了Parent,因为尽管未在中的类定义中明确定义,但为定义了Child。
在此示例中,当Child定义其自己的print_name方法时发生覆盖。如果未声明此方法,则将打印出。但是,已覆盖的定义,因此现在在调用时,将打印该单词。c.print_name()"Parent"ChildParentprint_namec.print_name()"Child"