Python面向对象程序设计多继承和多态用法示例


Posted in Python onApril 08, 2019

本文实例讲述了Python面向对象程序设计多继承和多态用法。分享给大家供大家参考,具体如下:

多继承

就是一个子类继承多个父类:

Python面向对象程序设计多继承和多态用法示例

多继承的例子,如下:

# -*- coding:utf-8 -*-
#! python3
class Base(object):
  def test(self):
    print("------base")
class A(Base):
  def test1(self):
    print("-----test1")
class B(Base):
  def test2(self):
    print("----test2")
class C(A,B):
  pass
c=C()
c.test1()
c.test2()
c.test()

运行结果:

-----test1
----test2
------base

Python面向对象程序设计多继承和多态用法示例

C也能继承Base

注:多继承中,每个父类都有相同的方法,子类继承时,会有一个继承顺序

想要查看该顺序的调用流程可以使用以下方法:

最后调用的是object方法,如果object方法也不存在,说明类中没有这个方法

print(子类类名.__mro__)
# -*- coding:utf-8 -*-
#! python3
class Base(object):
  def test(self):
    print("-----Base")
class A(Base):
  def test(self):
    print("----A")
class B(Base):
  def test(self):
    print("----B")
class C(A,B):
  def test(self):
    print("-----C")
c=C()
c.test()

运行结果:

-----C

多态

什么是多态:

定义时的类型和运行时的类型不一样,也就是定义时并不确定要调用的是哪个方法,只有运行的时候才能确定调用的是哪个

# -*- coding:utf-8 -*-
#! python3
class Dog(object):
  def print_self(self):
    print("父类")
class Xiaotq(Dog):
  def print_self(self):
    print("子类")
def introduce(temp):
  temp.print_self()
dog1=Dog()
dog2=Xiaotq()
introduce(dog1)
introduce(dog2)

运行结果:

父类
子类

temp就是对象的引用,它和对象指向同一块空间

多态的作用:

在游戏中有多种类型的角色,要在玩家开始玩的时候才能选择,所以开始并不知道玩家选的什么角色,这就是多态

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python字典多条件排序方法实例
Jun 30 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 Python
python3.6数独问题的解决
Jan 21 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
Jun 24 Python
python按修改时间顺序排列文件的实例代码
Jul 25 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
python输出决策树图形的例子
Aug 09 Python
wxPython多个窗口的基本结构
Nov 19 Python
python3实现用turtle模块画一棵随机樱花树
Nov 21 Python
tensorflow实现将ckpt转pb文件的方法
Apr 22 Python
详解python内置模块urllib
Sep 09 Python
Python虚拟环境virtualenv是如何使用的
Jun 20 Python
python仿抖音表白神器
Apr 08 #Python
Python面向对象程序设计之私有属性及私有方法示例
Apr 08 #Python
分析经典Python开发工程师面试题
Apr 08 #Python
django celery redis使用具体实践
Apr 08 #Python
python制作抖音代码舞
Apr 07 #Python
python实现抖音点赞功能
Apr 07 #Python
将pip源更换到国内镜像的详细步骤
Apr 07 #Python
You might like
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
2010/05/15 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
javascript 面向对象编程  function是方法(函数)
2009/09/17 Javascript
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
JS设计模式之单例模式(一)
2017/09/29 Javascript
浅谈vue父子组件怎么传值
2018/07/21 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
[05:16]《大圣!大圣》——DOTA2新英雄齐天大圣配音李世宏老师专访
2016/12/13 DOTA
python单例模式实例分析
2015/04/08 Python
浅析Python多线程下的变量问题
2015/04/28 Python
python中的句柄操作的方法示例
2019/06/20 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
python爬虫基础知识点整理
2020/06/02 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
彪马美国官网:PUMA美国
2017/03/09 全球购物
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
C语言笔试题回忆
2015/04/02 面试题
教育学专业毕业生的自我评价
2013/11/21 职场文书
应聘编辑职位自荐信范文
2014/01/05 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
员工安全生产承诺书
2014/05/22 职场文书
企业整改报告范文
2014/11/08 职场文书
2015年营业员工作总结
2015/04/23 职场文书
农村老人去世追悼词
2015/06/23 职场文书
办公室卫生管理制度
2015/08/04 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB