多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。
那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。
Pyhon 很多语法都是支持多态的,比如 len(),sorted(), 你给len传字符串就返回字符串的长度,传列表就返回列表长度。
class Animal(object):def __init__(self, name):  # Constructor of the classself.name = namedef talk(self):              # Abstract method, defined by convention onlyraise NotImplementedError("Subclass must implement abstract method")class Cat(Animal):def talk(self):print('%s: 喵喵喵!' %self.name)class Dog(Animal):def talk(self):print('%s: 汪!汪!汪!' %self.name)def func(obj): #一个接口,多种形态obj.talk()c1 = Cat('小晴')d1 = Dog('李磊')func(c1)func(d1)

转载于:https://www.cnblogs.com/xiaobai005/p/8335407.html

Python学习之路:多态实例相关推荐

  1. Python学习之路9☞面向对象的程序设计

    Python学习之路9☞面向对象的程序设计 一 面向对象的程序设计的由来 见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html 二 什 ...

  2. 我的Python学习之路(一)_Mr_Ouyang

    我的Python学习之路(一)_Mr_Ouyang 笔者按: 本文从18:55开始写作,至19:38中断,又从21:12始继续,至23:22写就. 共计耗时113分钟,总字数9081字,约80.4字/ ...

  3. python学习之路:python连接阿里云ODPS

    python学习之路:python连接阿里云ODPS 前言 本人最近在学习使用ODPS,希望把学习过程记录下来,方便自己查阅. 1.安装ODPS pip install ODPS 2.连接阿里云odp ...

  4. Python学习 - 面向对象之多态

    Python学习 - 语法入门:https://blog.csdn.net/wanzijy/article/details/125287855 Python学习 - 数据类型:https://blog ...

  5. python之路 mysql 博客园_教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql...

    教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql Easy_install安装MySQLdb 很简单,以至于我不晓得该怎么说.一句话. sodu ...

  6. Python学习之路—2018/7/14

    Python学习之路-2018/7/12 3.功能开发 3.3 设计博客首页 博客首页中最重要的就是中间的文章区域,所以我首先把文章区域设计出来,一开始并没有数据,如果用orm添加或者直接在数据库添加 ...

  7. Python学习之路—2018/6/20

    Python学习之路-2018/6/20 1.模板语法之变量 views.py def index(request):import datetimes="gyq"l=[1,2,3] ...

  8. C/C++学习之路: 多态

    C/C++学习之路: 多态 目录 多态基本概念 向上类型转换及问题 如何实现动态绑定 抽象基类和纯虚函数 纯虚函数和多继承 虚析构函数 重写,重载,重定义 1. 多态基本概念 多态是面向对象程序设计语 ...

  9. python 学习之路开始了

    python 学习之路开始了.....记录点点滴滴.... 转载于:https://www.cnblogs.com/chobit/p/6163287.html

  10. Python学习之路5☞文件处理

    Python学习之路5☞文件处理 一.文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 1 正趣果上果 2 Interesting fruit fruit 3 4 ...

最新文章

  1. IE6动态插入option
  2. PAT——个位数统计(1021)
  3. 安卓应用安全指南 5.5.3 处理隐私数据 高级话题
  4. 求翻转数循环结构C语言,[LeetCode Easy题快一起刷起来] 1. 两数之和 7. 整数翻转
  5. JDBC中事务、批量操作、大数据类型、获取自动生成的主键、等用法
  6. 深化代理模式,Mybaits如何做到调用接口
  7. H3C 帧中继地址映射
  8. python 传递任意数量的实参
  9. 《数字信号处理》系统函数的频率响应、零极点和稳定性的实现
  10. mysql默认数据库名_mysql默认数据库
  11. 程序员如何提高影响力
  12. 前后端项目对接流程梳理
  13. 网络安全工程师必备证书有哪些?
  14. 计算机视觉四大基本任务介绍
  15. docker(1):什么是 Docker
  16. OSChina 周四乱弹 ——印象开源中国:总是飙车就容易脱发
  17. android 插入 百度移动联盟 banner广告,百度移动应用广告盟联ane使用教程.docx
  18. k3s 快速入门 - 集群搭建
  19. Unity中使用多个灯光时有的灯光没有效果的问题
  20. CentOS6.8单用户模式下修改密码

热门文章

  1. envoy实现_如何利用 Envoy 的 Postgres 过滤器实现网络可观察性
  2. python读取txt文件_python实现读写txt文件的几种方法
  3. Java从string数组创建临时文件
  4. 洛谷 P3244 / loj 2115 [HNOI2015] 落忆枫音 题解【拓扑排序】【组合】【逆元】
  5. C++语言第一课的学习
  6. HOJ 13828 Funfair
  7. mysql string types ---- mysql 字符类型详解
  8. 《linux内核设计与实现》读书笔记第一、二章
  9. LightOJ 1422 区间DP Halloween Costumes
  10. php常用代码(一)