面向对象三大特性之一----继承
单继承:
子类拥有父类的所有方法和属性(子类只需封装自己特有的方法)
“”"
class Animal:
def eat(self):
print('吃')
def drink(self):
print('喝')
def run(self):
print('跑')
def sleep(self):
print('睡')
class Cat(Animal):
def call(self):
print('喵喵~')
class Hellokitty(Cat):
def speak(self):
print('我可以说日语~')
#创建猫对象
#fentiao = Cat()
#fentiao.eat()
#fentiao.drink()
#fentiao.run()
#fentiao.sleep()
#fentiao.call()
hk = Hellokitty()
hk.speak()
子类可以继承父类的所有属性和方法
hk.call()
继承的传递性,子类拥有父类的父类的属性和方法
hk.eat()
hk.drink()
hk.run()
hk.sleep()
Cat类是Animal类的子类,Animal类是Cat类的父类,Cat从Animal类继承
Cat类是Animal类的派生类,Animal类是Cat类的基类,Cat类从Animal类派生
当父类的方法不能满足子类的需求的时候,可以对父类的方法进行重写
1.覆盖父类方法
2.对父类方法进行扩展
"""
class Animal:
def eat(self):
print('吃')
def drink(self):
print('喝')
def run(self):
print('跑')
def sleep(self):
print('睡')
class Cat(Animal):
def call(self):
print('喵喵~')
class Hellokitty(Cat):
def speak(self):
print('我可以说日语~')
def call(self):
# 调用原本在父类中封装的方法
#Cat.call(self)
super().call() # 只在python3中支持
print('#@!#@!#@!')
hk = Hellokitty()
hk.speak()
hk.call()
"""
多继承
子类拥有一个父类叫做单继承
子类可以拥有多个父类,并且具有所有父类的属性和方法
例如:孩子会继承自己父亲和母亲的特性
"""
class A:
def test(self):
print('test 方法')
class B:
def demo(self):
print('demo 方法')
class D:
def haha(self):