博客
关于我
python小白实现对鸭子类型的简单模拟
阅读量:144 次
发布时间:2019-02-28

本文共 681 字,大约阅读时间需要 2 分钟。

本博文源于python基础,旨在对鸭子类型进行简单的模拟。

鸭子类型

所谓的鸭子类型就是根据对象的当前方法和属性集合决定,而不是根据继承自特定的类与接口设定。 在实际的程序设计中,通常不测试方法和函数中参数的类型,而是依赖文档、清晰的代码和测试来确保正确使用。

例子:模拟鸭子类型,实现对象的多态

实例模拟了鸭子、猫和树。因为树木没有这种叫的方法,因此它就会报错。

实验效果

在这里插入图片描述

实验代码

class Duck(object):    def __init__(self, name='duck'):        self.name = name    def quack(self):        print('嘎嘎嘎....')class Cat(object):    def __init__(self, name='cat'):        self.name = name    def quack(self):        print('喵喵喵....')class Tree(object):    def __init__(self, name='tree'):        self.name = namedef duck_demo(obj):    obj.quack()if __name__ == '__main__':    duck = Duck()    cat = Cat()    tree = Tree()    duck_demo(duck)    duck_demo(cat)    duck_demo(tree)

转载地址:http://jhrd.baihongyu.com/

你可能感兴趣的文章
mysql
查看>>
MTK Android 如何获取系统权限
查看>>
MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
查看>>
MySQL - ERROR 1406
查看>>
mysql - 视图
查看>>
MySQL - 解读MySQL事务与锁机制
查看>>
MTTR、MTBF、MTTF的大白话理解
查看>>
mt_rand
查看>>
mysql -存储过程
查看>>
mysql /*! 50100 ... */ 条件编译
查看>>
mysql 1045解决方法
查看>>
mudbox卸载/完美解决安装失败/如何彻底卸载清除干净mudbox各种残留注册表和文件的方法...
查看>>
mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
查看>>
mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
查看>>
mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
查看>>
mui折叠面板点击事件跳转
查看>>
MySQL 8 公用表表达式(CTE)—— WITH关键字深入用法
查看>>
mysql 8 远程方位_mysql 8 远程连接注意事项
查看>>
MUI框架里的ajax的三种方法
查看>>
MySQL 8.0 恢复孤立文件每表ibd文件
查看>>