hi,大家好!今天我们来聊聊Python面向对象编程中的一个重要概念——多继承!如果你还没搞清楚这个概念,那就赶紧跟着我一起学习吧!
首先,我们来了解一下什么是继承。在面向对象编程中,继承是一个让子类可以继承父类的属性和方法的机制。这样,我们就可以避免重复编写相同的代码,并且让代码更加清晰和易于维护。父类就像是我们的模板,子类可以根据这个模板来创建自己的对象。
但是,有时候一个子类可能同时继承自多个父类。这时,我们就需要用到多继承了。多继承就是让一个子类同时继承多个父类的属性和方法。这样,子类就可以同时拥有多个父类的特性,实现代码的复用和功能的扩展。
那么,如何实现多继承呢?在Python中,我们可以使用逗号将多个父类分开,例如:
1.多继承语法
class 子类名(父类1, 父类2, 父类3...):
类体
2.实例
# 父亲类
class Father(object):
# 构造函数
def __init__(self, surname):
self.surname = surname
# 方法
def make_money(self):
print("钱难挣,粑粑难吃...")
# 母亲类
class Mother(object):
# 构造函数
def __init__(self, height):
self.height = height
# 方法
def eat(self):
print("吃饭的方法")
# 子类:子类继承了父亲类和母亲类
class Son(Father, Mother):
# 构造函数
def __init__(self, surname, height, weight):
# 子类继承父亲的属性
Father.__init__(self, surname)
# 子类继承母亲的属性
Mother.__init__(self, height)
# 子类自己的属性
self.weight = weight
# 方法
def play(self):
print("周游世界...")
# 构造子类的对象
son = Son("张", 170, 145)
# 子类对象访问父类属性
print(son.surname)
print(son.height)
# 子类对象访问自己的属性
print(son.weight)
# 子类对象访问父类的方法
son.make_money()
son.eat()
# 子类对象访问自己的方法
son.play()
3.执行结果
张
170
145
钱难挣,粑粑难吃...
吃饭的方法
周游世界...
4.总结
-
子类可以继承父类的非私有属性和非私有方法
-
子类不可以继承父类的私有属性和私有方法
-
父类不能调用子类中的方法
-
继承的优点:
-
简化代码
-
提高代码的复用性
-
提高代码的可维护性
-
继承是多态的前提
-
-
继承的缺点:
-
继承会导致代码的关联都偏高
-