Python多重继承用法 Python周末学习
继承是面向对象编程的一个重要方式,通过继承,子类可以扩展父类的功能,Python也具有该特性,除此之外,Python还可以使用多重继承。
语法:
class subClass(Base1,Base2)
该语法的含义是创建了一个subClass类,让它同时继承了Base1和Base2的相关特性,关于继承还有以下规则需要遵循:
1. 继承只会继承父类的方法,不能继承父类的变量;
2. 要想继承父类的变量,需要执行父类的__init__(self)方法;
3. 下划线开头的变量或方法,会被认为是受保护的,不能直接点出来,但如果强制打出来的话也一样能用,只是会有警告;
4. 静态方法中不能使用self,用@staticmethod声明这是一个静态方法。
实例:
class A(object):
def __init__(self):
print('A')
super(A, self).__init__()
class B(object):
def __init__(self):
print('B')
super(B, self).__init__()
class C(A,B):
def __init__(self):
print('C')
super(C, self).__init__()
以上实例是子类C多重继承了A和B的特性,是多重继承最基本的用法,除此之外,还有很多用法,多重继承的使用是需要注意的,使用不当,它带来的麻烦可能比解决的问题还多,因此,除非现有代码无法实现想要的功能,建议不考虑使用多重继承!