python继承和多态
- 私有属性和私有方法不能继承,常见的单层继承、多层继承、多继承
- 单层继承:
class A(object):
def aMet(self):
print("A类中")
class B(A):
def bMet(self):
print("B类中")
b=B()
print(b.aMet(),b.bMet())
结果如下:
A类中
B类中
2.多层继承
class A(object):
def aMet(self):
print("A类中")
class B(A):
def bMet(self):
print("B类中")
class C(B):
def cMet(self):
print("C类中")
c=C()
print(c.aMet(),c.bMet(),c.cMet())
结果如下:
A类中
B类中
C类中
3.多继承,一个类 同时可以继承多个父类
class A():
def aMet(self):
print("A类中")
class B():
def bMet(self):
print("B类中")
class C(A,B):
def cMet(self):
print("C类中")
c1=C()
print(c1.aMet(),c1.bMet(),c1.cMet())
结果如下:
A类中
B类中
C类中
- #多态:调用相同的方法,实现不同的功能 (特殊情况下才会产生)
class Animal(object):
"""动物类"""
def run(self):
print("不知道具体如何跑")
class Dog(Animal):
"""狗类"""
def run(self):
print("四条腿汪汪的跑")
class Snake(Animal):
"""蛇"""
def run(self):
print("梭的跑")
xiaohuang=Dog()
xiaoqing=Snake()
#定义一个函数,驱赶动物:字符串,数字,对象
def ganAnimal(animal):
"""赶动物"""
animal.run()
#调用 函数
ganAnimal(xiaohuang)
ganAnimal(xiaoqing)
结果如下
四条腿汪汪的跑
梭的跑