一、类的继承语法:
class SubClass(SuperClass1,SuperClass,...):
pass
python支持多继承且默认继承object类,多个父类拥有共同方法时,python调用继承顺序第一的父类方法(包括构造方法),如下例:
class Item():
def info(self):
print('Item的info方法')
class Product():
def info(self):
print('product的info方法')
class Mouse(Item, Product):
pass
c = Mouse()
c.info() #调用item的info方法
二、使用未绑定方法调用被重写的方法
Python 类相当于类空间,因此Python 类中的方法本质上相当于类空间内的函数。所以,即使是实例方法, Python 也允许通过类名调用。区别在于: 在通过类名调用实例方法时,Python 不会为实例方法的第一个参数self 自动绑定参数值,而是需要程序显式绑定第一个参数self。这种机制被称为未绑定方法。
class BaseClass():
def foo(self):
print('这是BaseClass的foo方法')
class SubClass(BaseClass):
def foo(self):
print('这是SubClass的foo方法')
def bar(self):
#调用自生重写的foo方法
self.foo()
#调用父类的foo方法
BaseClass.foo(self)
c = SubClass()
c.bar()
三、使用super函数调用父类构造方法<