`
cakin24
  • 浏览: 1374931 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

python中的多继承

阅读更多
一 介绍
Python同样有限的支持多继承形式。多继承的类定义形如下例:
class DerivedClassName(Base1, Base2, Base3):
    <statement-1>
    .
    .
    .
    <statement-N>
需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索 即方法在子类中未找到时,从左到右查找父类中是否包含方法。
 
二 代码
  1. #类定义
  2. class people:
  3. #定义基本属性
  4. name =''
  5. age =0
  6. #定义私有属性,私有属性在类外部无法直接进行访问
  7. __weight =0
  8. #定义构造方法
  9. def __init__(self,n,a,w):
  10. self.name = n
  11. self.age = a
  12. self.__weight = w
  13. def speak(self):
  14. print("%s 说: 我 %d 岁。"%(self.name,self.age))
  15. #单继承示例
  16. class student(people):
  17. grade =''
  18. def __init__(self,n,a,w,g):
  19. #调用父类的构函
  20. people.__init__(self,n,a,w)
  21. self.grade = g
  22. #覆写父类的方法
  23. def speak(self):
  24. print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade))
  25. #另一个类,多重继承之前的准备
  26. class speaker():
  27. topic =''
  28. name =''
  29. def __init__(self,n,t):
  30. self.name = n
  31. self.topic = t
  32. def speak(self):
  33. print("我叫 %s,我是一个演说家,我演讲的主题是 %s"%(self.name,self.topic))
  34. #多重继承
  35. class sample(speaker,student):
  36. a =''
  37. def __init__(self,n,a,w,g,t):
  38. student.__init__(self,n,a,w,g)
  39. speaker.__init__(self,n,t)
  40. test = sample("Tim",25,80,4,"Python")
  41. test.speak()#方法名同,默认调用的是在括号中排前地父类的方法
 
三 运行结果
我叫 Tim,我是一个演说家,我演讲的主题是 Python
1
1
分享到:
评论

相关推荐

    Python中多继承 & 类的搜索顺序 & 多态

    Python中多继承可以继承多个基类。个人看法:Java多继承类似传统的繁殖模式(单个基类),Python符合现代的繁殖模式(基因工程,存在多个基类)。 示例: class Person: def __init__(self,name,age): self.name = ...

    Python代码-多层继承中的属性初始化问题.py

    ——学习参考资料:仅用于个人学习使用! 本代码仅作学习交流,切勿用于商业用途,否则后果自负。若涉及侵权,请联系,会尽快处理! 未进行详尽测试,请自行调试!

    学学Python_40类_06 多继承

    通过学习这些示例文件,我们可以更好地理解Python中多继承的工作原理,以及如何有效地利用它来构建复杂的类结构。在实际项目中,多继承可以帮助我们构建模块化的代码,提高代码的可读性和可维护性。同时,需要注意...

    python 多继承

    python 继承 多继承 视频课。。。。。。。。。。。。。。。

    Python中的单继承与多继承实例分析

    在Python中多继承也是支持的,但是要注意基类顺序的问题,因为当有多个基类时可能会出现方法重名的问题。Python按照从左至右的顺序解决方法名冲突。多继承的类定义如下: ```python class DerivedClassName(Base1, ...

    第十二章Python继承和多态习题与答案--中文

    Python 继承基础 **继承** 是面向对象编程的一个核心概念,它允许创建一个新类(称为 **子类** 或 **派生类**),该类继承了现有类(称为 **父类**、**基类** 或 **超类**)的所有属性和方法。 **示例 12.1** ```...

    浅谈Python中的继承

    - **原理**:在单继承中,子类可以覆盖或重写父类的方法和属性。 - **示例**: ```python class MyClass: name = 'MyClass' def func(self): print(f"This is {self.__class__.name}") def get_name(self):...

    探索Python中的继承:构建强大的面向对象应用

    Python作为一种支持多态性和封装的动态类型语言,提供了灵活的继承机制。本文将详细探讨Python中继承的实现方式,以及如何利用继承构建强大的面向对象应用程序。 继承是Python中一个强大的特性,它允许开发者构建...

    Python学习资料之继承

    在Python编程语言中,继承是面向对象编程的一个关键特性,它允许我们创建一个新类(子类),这个新类能够从已存在的类(父类)中继承属性和方法。这样的设计模式有助于代码重用,提高模块化,并使程序结构更加清晰。...

    python全套课程继承与多态

    "python继承与多态"这个课程应该提供了实践案例和练习,帮助你更好地理解和应用这些知识。在实践中,你会遇到如何设计类层次结构、何时使用继承、如何利用多态优化代码等问题,这些都是提升编程技能的关键步骤。通过...

    Python代码-多继承的初始化问题的解决.py

    ——学习参考资料:仅用于个人学习使用! 本代码仅作学习交流,切勿用于商业用途,否则后果自负。若涉及侵权,请联系,会尽快处理! 未进行详尽测试,请自行调试!

    python中多重继承共6页.pdf.zip

    在多重继承中,可能会出现方法冲突,即子类中可能存在同名的方法,来自不同的父类。Python使用一种叫做C3线性化(C3 Linearization)的方法来确定调用哪个父类的方法,这通常被称为方法解析顺序(Method Resolution ...

    python进阶1.7继承,重写,多态等.zip

    python基础进阶1.7继承,重写,多态等相关视频。至此,我认为了解这些python基础,...在实践中学习更多的python函数用法。关注微信公众号:深度学习社区DLC;博客:https://blog.csdn.net/weixin_40651515了解更多应用

    python支持多继承吗

    然而,尽管Python在语法层面上允许多继承,但实践中并不总是推荐使用这种特性。 单继承是指一个类只能有一个直接父类,这使得类的层次结构更加简洁,减少代码冲突的可能性。多继承则是指一个类可以从多个父类中继承...

    Python语言基础:类的继承.pptx

    Python 还支持多重继承,即一个子类可以继承多个父类。例如: ```python class C(A, B): pass ``` 这里,`C` 类同时继承了 `A` 和 `B` 两个父类。当子类中存在与父类同名的方法时,Python 使用方法解析顺序...

    Python之继承和多态共7页.pdf.zip

    Python是一种高级编程语言,以其简洁明了的语法和强大的功能深受程序员喜爱。...在学习Python之继承和多态的过程中,深入理解这两个概念的原理,以及如何在实际项目中应用它们,将对提升编程技能大有裨益。

    如何在python中实现继承.pptx

    在Python编程中,继承是一种强大的面向对象编程特性,它允许我们创建新的类(子类或派生类)基于已存在的类(父类或基类)。这样可以复用代码,提高开发效率,同时保持代码结构清晰。以下是关于在Python中实现继承的...

    Python 多继承类的 MRO 算法——C3算法

    Python中的多继承是一种强大的特性,允许一个类同时继承多个父类,从而...总的来说,C3算法解决了Python多继承中的MRO问题,确保了代码的可预测性和一致性。理解和掌握这一算法对于深入Python的面向对象编程至关重要。

    Python子类继承父类构造函数详解

    在Python面向对象编程中,继承是一个非常重要的概念。通过继承,一个类(称为子类)可以从另一个类(称为父类或基类)继承属性和方法。继承不仅可以提高代码的复用性,还可以帮助开发者构建出更加灵活和可扩展的程序...

Global site tag (gtag.js) - Google Analytics