继承语法
class 类名(父类名):
狗类是动物类的子类,动物类是狗类的父类,狗类从动物类继承
狗类是动物类的派生类,动物i类是狗类的基类,狗类从动物类派生
继承有传递性
多层继承只能是直系继承
方法的重写
子类中定义一个与父类相同名称的方法,并且重写功能
对父类方法扩展:
重写,使用super().父类方法 来调用父类方法的执行
super是特殊类,super()就是常见的super类对象
python2.x 方法 :
父类名.方法(self)
class Animal:
def eat(self):
print("吃")
def drink(self):
print("喝")
def run(self):
print("跑")
def sleep(self):
print("睡")
class Dog(Animal): #继承添加父类
def bark(self):
print("叫")
def eat(self): #重写
#1.针对子类特有的需要
print("神一样吃")
#2.使用super()。调用原本再父类中封装的方法
super().eat()
#父类名。方法(self)如果使用字类调用方法,会出现递归调用,出现死循环
Animal.eat(self)
#3.增加其他子类的代码
print("@@#¥%…………&&*")
gou=Dog()
gou.eat()#调用字类中重写的方法,不再调用父类中的方法
--------------------
D:\Anaconda\python.exe D:/Pycharm/PycharmProjects/python继承/k01_单继承.py
神一样吃
吃
吃
@@#¥%…………&&*
Process finished with exit code 0
父类的私有属性和私有方法
在子类对象方法中,不能访问父类私有属性
也不能调用父类的私有方法
私有属性和方法只能再父类中访问
字类方法中可以访问父类公有,如果父类共有方法中有父类的私有属性或方法,字类是可以访问父类共有方法中的私有
字类不能直接访问父类私有,可以通过父类公有访问父类私有