类的继承可以看成对类的属性和方法的重用,能够大大的减少代码量,继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,也就是说在python中支持一个儿子继承多个爹。
通过继承创建的新类为子类或者派生类,被继承的类称为基类、父类或超类
1、子类会继承父类所有的功能属性和方法,并且子类能够拥有自己的属性和方法;对原来的父类不会产生任何影响。单继承中只有一个父类,而多继承中有多个父类
2、调用属性和方法时,优先调用子类的,子类没有再调用父类的,当子类的属性和方法与父类的属性和方法名称重复时,以子类的属性和方法为准。
class Person(object):
name='Person类name'
age='Person类的age'
def __init__(self,name,age):
self.name=name
self.age=age
print('这里是Person类的构造方法')
def eat(self):
print('%s 在吃饭(Person类eat方法)'%self.name)
def sleep(self):
print('%s 在睡觉(Person类sleep方法)'%self.name)
class Teacher(Person):
name='Teacher类的name'
def eat(self):
print('%s 在吃饭(Teacher类eat方法)' %self.name)
test=Teacher('橙子',11)
test.eat()
test.sleep()
这里是Person类的构造方法
橙子 在吃饭(Teacher类eat方法)
橙子 在睡觉(Person类sleep方法)
Process finished with exit code 0
如果子类有构造方法,未重写父类构造方法,实例化子类时,会调用子类构造方法,实例属性会先找子类的实例变量,再找子类类变量,最后找继承类的类变量
class Person(object):
name = 'Person类name'
age = 'Person类的age'
def __init__(self,name,age):
sel