本文主要是介绍python基础--面向对象多继承,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
多继承
class A:
def test(self):
print("test 方法")
class B:
def demo(self):
print("demo 方法")
class C(A, B):
# 多继承可以让子类对象,同时具有多个父类的属性和方法
pass
# 创建子类对象
c = C()
c.test()
c.demo()
# 如果不同的父类中存在同名的方法,子类对象在调用方法时,会调用哪一个父类中的方法呢?
# 提示:开发时,应该尽量避免这种容易产生混淆的情况! -- 如果父类之间存在同名
# 的属性或者方法,应该尽量避免使用多继承
test 方法
demo 方法
多继承调用顺序
class A:
def demo(self):
print("A------demo 方法")
def test(self):
print("A------test 方法")
class B:
def demo(self):
print("B------demo 方法")
def test(self):
print("B------test 方法")
class C(A, B):
# 多继承可以让子类对象,同时具有多个父类的属性和方法
pass
c = C()
c.test()
c.demo()
# 确定C类对象调用方法的顺序
# 方法搜索顺序
print(C.__mro__)
A------test 方法
A------demo 方法
(<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class 'object'>)
- 多继承可以让子类对象,同时具有多个父类的属性和方法;
- 开发时,应该尽量避免 不同的父类中存在同名的方法 这个容易产生混淆的情况! – 如果父类之间存在同名的属性或者方法,应该尽量避免使用多继承;
- 确定C类对象调用方法的顺序用方法搜索顺序
类名.__mro__
。
这篇关于python基础--面向对象多继承的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!