python——父类与子类的一些说明

Python中类的初始化方法是__init__(),因此父类、子类的初始化方法都是这个,如果子类不实现__init__()这个函数,初始化时调用父类的初始化函数,

如果子类实现了这个函数,则要在这个函数里显式调用一下父类的__init__(),这跟C++,jAVA不一样,他们是自动调用父类构造函数的。

#初始化中调用父类初始化方法示例  
#B是A的子类  
class B(A):    
    def __init__(self):    
        super().__init__()  

调用父类其他成员函数的三种方法:
1. 直接写类名调用;

2. 用 super(type, obj).method(arg)方法调用;

3. 在子类的定义内,如果调用父类的成员,可以直接用 super().method(arg)。

class A:    
    def method(self, arg):      
         return  
    
class B(A):    
    def method(self, arg):    
#        A.method(self,arg)                #1     
#        super(B, self).method(arg)        #2     
#        super().method(arg)               #3 

[注意] 如果在子类定义外(即在其他函数逻辑内,子类对象去调用父类成员时),则按照:

...  
ob = B()    
super(B,ob).method(arg)    #调用class B的父类class A的method。   
...  
posted @ 2014-08-25 15:14  落叶落叶  阅读(1593)  评论(0编辑  收藏  举报