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

时间:2023-03-08 23:32:46
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。
...