从0基础学习Python(17)[面向对象三大特征[多态]]
从0基础学习Python (Day17)
面向对象三大特征[多态]
多态
概念
不同子类的对象调用相同的父类方法,产生不同的结果
特点
调用方法的技巧
1.多态可以增加代码的灵活度。
2.以继承和重写为前提
3.是调用方法的技巧,不会影响类的原本设计
多态和多态性
多态
多态指的是同一种事物的多种状态:水这种事物有多种不同的状态:冰,水蒸气
多态性
多态性是指在不考虑实例类型的情况下使用实例
在面向对象方法中一般是这样表述多态性:
向不同的对象发送同一条消息(obj.func():是调用了obj的方法func,又称为向obj发送了一条消息func),不同的对象在接收时会产生不同的行为(即方法)。
也就是说,每个对象可以用自己的方式去响应共同的消息。所谓消息,就是调用函数,不同的行为就是指不同的实现,即执行不同的函数。
··比如:老师.下课铃响了(),学生.下课铃响了(),老师执行的是下班操作,学生执行的是放学操作,虽然二者消息一样,但是执行的效果不同
多态性的概念指出了对象如何通过他们共同的属性和动作来操作及访问,而不需考虑他们具体的类。
·· 冰,水蒸气,都继承于水,它们都有一个同名的方法就是变成云,但是冰.变云(),与水蒸气.变云()是截然不同的过程,虽然调用的方法都一样
#父类,工作
class Worke(object):def __init__(self, name):self.name = namedef work(self):print("工作")#子类重写父类中的工作[多态的体现]
class Web(Worke):def work(self):print("我是前端工程师")#子类重写父类中的工作[多态的体现]
class Server(Worke):def work(self):print("我是服务器工程师")#通过对相同的父类采用不同方法的调用,以达到不同的调用效果
class Cto(Worke):def work(self, worke):print("我安排%s去" % worke.name)worke.work()zs = Web("张三")
zs.work()
ls = Server("里斯")
ls.work()
lb = Cto("小明")
lb.work(ls)
Day17-------END
从0基础学习Python(17)[面向对象三大特征[多态]]相关推荐
- python 内存溢出能捕获吗_从0基础学习Python (19)[面向对象开发过程中的异常(捕获异常~相关)]...
从0基础学习Python (Day19) 面向对象开发过程中的=>异常 什么是异常 当程序在运行过程中出现的一些错误,或者语法逻辑出现问题,解释器此时无法继续正常执行了,反而出现了一些错误的 ...
- 从0基础学习Python(13)[面向对象思想]
从0基础学习Python (Day13) 面向对象思想 1.面向对象编程介绍 面向对象 概述 目前软件开发技术中两种主流思想:面向过程.面向对象 面向过程思想出现较早,C语言 面向对象思想 ...
- 菜鸟学习笔记:Java基础篇4(面向对象三大特征)
菜鸟学习笔记:Java面向对象篇中 继承 概念 方法重写(override) Object类 Super关键字 组合 final关键字补充 封装 访问控制符 多态 继承 概念 继续上一篇的例子: #m ...
- 0基础学习Python基础语法(0)-print()与变量
文章目录 Python[人工智能]时代的立身武器 print 无引号 单引号的用法 双引号的用法 三引号的用法 转义字符 变量和赋值 变量的命名规范 下关预告 Demo 例子:打印 例子:转义字符 要 ...
- 适合0基础学习Python的路线图
我自己是28岁转行后自学Python的,所以根据自己过去的经验总结一下.总结了一个自学 Python 的路线, 面对新手可能有以下问题 我想学习Python但不知道从哪里开始. 我不知道能不能学得好 ...
- Java学习day012(面向对象三大特征补充)
文章目录 多态 多态的成员访问的特点 多态的好处和弊端 多态中的转型 抽象类 抽象类特点 抽象类的成员特点 接口 接口特点 接口的成员特点 类和接口的关系 抽象类和接口的关系 内部类 成员内部类 局部 ...
- 0基础学python看什么书-0基础学Python入门书籍应该看什么?
0基础学Python入门书籍应该看什么?Python 对不少人来说是谜一样的东西不知道如何下手.从何处下手,找了很多资源几个月过去了学习陷入换乱,没没能入门Python开发.出现这种情况大多是因为没有 ...
- 0基础学Python入门书籍应该看什么?
0基础学Python入门书籍应该看什么?Python 对不少人来说是谜一样的东西不知道如何下手.从何处下手,找了很多资源几个月过去了学习陷入换乱,没没能入门Python开发.出现这种情况大多是因为没有 ...
- Java面向对象三大特征---继承
系列文章目录 Java面向对象三大特征-多态 Java面向对象三大特征-封装 文章目录 系列文章目录 前言 一.概念 二.举例说明 三.语句格式 三.为何要使用继承 四.super与this关键字 五 ...
- 【python教程入门学习】学python要多久,0基础学python有多难
学python要多久,0基础学python有多难,这是很多想学习python语言同学绕不开的问题,都害怕花完钱最终没有应有的回报!对于毫无经验0基础的同学来说学习python什么最重要,方向选对坚持下 ...
最新文章
- LeetCode 876——链表的中间结点
- mybaits一:初步认识mybatis
- 浅谈Android事件分发机制
- Linux内核地址空间为什么1GB,为什么Windows为其系统地址空间预留1Gb(或2 Gb)?
- 【Error】IDEA报错:org.jetbrains.jps.builders.java.dependencyView.TypeRepr$PrimitiveType cannot be cast t
- STM32F407ZGT6 fatfs出现挂载成功,但是文件读写失败的原因
- Atitit 常见数据结构之编程语言源文件与编译文件 目录 1.1. 通过反射api得到结构	1 1.2. 通过源码ast信息	1 2. 常见语言	1 2.1. Php ast 解析	1 2.2.
- rose服务器系统,ROSE HA 服务器集群软件
- Word插入特殊符号
- C2——cesium加载城市级三维管网模型的方案
- postman安装与使用
- 冠捷云计算机功能,USB3.0显示器亮相!AOC多款LCD新品赏
- 数仓(一)简介数仓,OLTP和OLAP
- Sub Matrix Sum 含负数的最短区间+ 矩阵一维化
- html中隐藏溢出怎么写,CSS溢出文字隐藏
- TP6使用守护进程完成队列任务
- c语言 测试有哪种天赋,c语言是指什么
- leetcode之Kth Largest Element in an Array
- Android 实现顶层窗口、悬浮窗口
- python爬去百度文库资料_Python在线百度文库爬虫(免下载券)
热门文章
- antd自定义样式主题
- 再谈EPT与影子页表
- 李沐等人提出UN-EPT:用于语义分割的统一高效金字塔Transformer
- Ubuntu 20.04安装微信、QQ
- 2022年电工(初级)考试报名及电工(初级)最新解析
- 百度搜索框搜索时显示或者隐藏历史搜索记录
- 数学函数模块math
- 智能电话机器人--基于 UniMRCP 实现讯飞 ASR MRCP Server
- PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换
- LSA和 PLSA学习笔记