python继承和多态

  • 私有属性和私有方法不能继承,常见的单层继承、多层继承、多继承
  1. 单层继承:
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)

结果如下

四条腿汪汪的跑
梭的跑

原文地址:https://www.cnblogs.com/liuchunxiao83/p/14830201.html