class Canvas:
def draw_pic(self, shape):
print('--start draw--')
shape.draw(self) class Rectangle:
def draw(self, canvas):
print('draw rectangle on %s' % canvas) class Triangle:
def draw(self, canvas):
print('draw triangle on %s' % canvas) class Circle:
def draw(self, canvas):
print('draw circle on %s' % canvas) c = Canvas()
c.draw_pic(Rectangle())
c.draw_pic(Triangle())
c.draw_pic(Circle())

谢谢!

Python之多态案例的更多相关文章

  1. python模块使用案例

    python模块使用案例 一.使用MySQLdb模块代码示例: # 导入 MySQLdb模块 import MySQLdb # 和服务器建立链接,host是服务器ip,我的MySQL数据库搭建在本机, ...

  2. python基础——多态与多态性

    python基础--多态与多态性 1 多态 多态指的是一类事物有多种形态,(一个抽象类有多个子类,因而多态的概念依赖于继承) 1. 序列类型有多种形态:字符串,列表,元组. 2. 动物有多种形态:人, ...

  3. Python操作MySQL案例

    最近都在学习Python代码,希望学会Python后,能给我带来更高的工作效率,所以每天坚持学习和拷代码,下面是一个Python操作MySQL的一个实例,该实例可以让更多的人更好了解MySQLdb模块 ...

  4. Java多态案例分析

    一.多态的定义 同一事物,在不同时刻体现出不同状态. 例如:水在不同状态可能是:气态.液态.固态. 二.多态前提和体现 1.有继承关系 2.有方法重写 3.有父类引用指向子类对象 三.编译运行原理 1 ...

  5. 探索Python的多态是怎么实现的

    多态是指通过基类的指针或者引用,在运行时动态调用实际绑定对象函数的行为. 对于其他如C++的语言,多态是通过在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来 ...

  6. python购物车小案例

    python购物车小案例# 案列描述:有一个小型水果店里面有水果(苹果:¥8/kg,香蕉:¥5/kg,芒果:¥15/kg,葡萄:¥12/kg),客户带了100元钱进店选购水果.# 1.客户输入相应序号 ...

  7. Python 简单爬虫案例

    Python 简单爬虫案例 import requests url = "https://www.sogou.com/web" # 封装参数 wd = input('enter a ...

  8. 复习python的多态,类的内部权限调用 整理

    #多态的用法 class Dii: passclass Aii(Dii): def run(self): print('一号函数已调用')class Bii(Dii): def run(Dii): p ...

  9. python之多态

    python之多态 一.什么是多态? 同一种事物,有多种形态! class Animal: #同一类事物:动物 def talk(self): pass class Cat(Animal): #动物的 ...

随机推荐

  1. .Net core 在类库中获取配置文件Appsettings中的值

    大多数情况,我们开发的程序中都含有很多个类库和文件夹,有时候,我们会遇到程序中的类库需要获取配置文件的信息的情况. 像dapper 中需要使用连接字符串的时候,那么我们一直从主程序中传值这是个不好的方 ...

  2. 【Spring】@PathVariable 获取带点参数,获取不全

    一.修改前 @GetMapping("/{name:.+}") public String profile(@PathVariable String name, Model mod ...

  3. 没有可用的软件包 build-essential,但是它被其他的软件包引用了【解决方法】

    执行: sudo apt install build-essential 遇到如下问题: 解决方法: sudo apt-get update 此命令需要联网:待更新完毕后再次输入安装命令即可. 若在升 ...

  4. 接口自动化--读取Excel操作(openpyxl)

    上次我们已经将requests库封装成我们想要的样子了,我们的接口自动化已经完成了最开始的一步了,接下来我们需要完成我们相应的其他模块的封装,下面简单介绍下我们在接口自动化需要用到的模块吧在接口自动化 ...

  5. 性能测试之Jmeter插件安装

    使用Jmeter的实际过程中,需要使用到很多插件,比如json的插件,还有就是做websocket接口测试的时候需要下载websocket的插件,虽然官方提供了插件下载的地址,但是知道为什么每次访问的 ...

  6. 使用 Express Generator快速创建Express应用

    全局安装express-generator npm install express-generator -g 根据需求生成自己需要的模板 生成ejs模板:express demo --view=ejs ...

  7. 如何将wordpress的the_title()进行大小写处理

    有时我们在做wordpress网站时需要将标题的大写字母改成小写字母或小写字母转为大写字母方便调用,那么要如何改造呢?我们知道Wordpress the_title()函数默认回显标题,标准写法是&l ...

  8. HDU6703 array

    [传送门] 比赛的时候想了半天的带修改主席树(其实之前只写过一次.),两个log甚至三个log都想了,自闭了五个小时还是不会实现.问了一下西瓜得到了一个非常妙的1 log解法.此处膜瓜

  9. 排序算法-堆排序(Java)

    package com.rao.linkList; import java.util.Arrays; /** * @author Srao * @className HeapSort * @date ...

  10. 临时加一条关于bootstrap的菜单栏方面的

    **有些生疏,记住了**aria-expanded表示展开状态.默认为undefined, 表示当前展开状态未知.其它可选值:true表示元素是展开的:false表示元素不是展开的. aria-hid ...