python很多语法支持多态,多态的实现方法,实现接口重用
class Animal:
    def __init__(self,name):
        self.name=name

def talk(self):
        pass

class Cat(Animal):
    def talk(self):
        print("%s Meow..."%self.name)

class Dog(Animal):
    def talk(self):
        print("%s Woof! woof!"%self.name)

d = Dog("chenronghua")
#d.talk()

c=Cat("xuliangwei")
#c.talk()

def animal_talk(obj):
    obj.talk()

animal_talk(c)
animal_talk(d)

-------------------------------------
class Animal:
    def __init__(self,name):
        self.name=name

def talk(self):
        pass

    @staticmethod #装饰器
    def animal_talk(obj):
        obj.talk()

class Cat(Animal):
    def talk(self):
        print("%s Meow..."%self.name)

class Dog(Animal):
    def talk(self):
        print("%s Woof! woof!"%self.name)

d = Dog("chenronghua")
#d.talk()

c=Cat("xuliangwei")
#c.talk()



Animal.animal_talk(c)
Animal.animal_talk(d)

转载于:https://blog.51cto.com/13707996/2329325

面向对象-多态的实现相关推荐

  1. day8 Java学习(面向对象.多态接口)

    面向对象    多态: 概述:事物存在的多种形态.  多态前提: *要有继承关系 *要有方法重写 *要有父类引用指向子类对象. 成员变量访问:           编译看左边(父类),运行左边(父类) ...

  2. Java面向对象 ----多态

    java的第二部分 面向对象----多态 4.1面向对象的第三个特征: 多态定义: 多态可以理解为某一类事物的多种存在形态. 例如: 人 可以分为 男人 女人 动物 猫 狗 等 粮食 大米 小麦等 举 ...

  3. 7.Java面向对象-多态

    7.Java面向对象-多态 一.多态的概述及其代码体现 A:多态概述某一个事物,在不同时刻表现出来的不同状态.举例: Cat c=new Cat();Animal a=new Cat();猫可以是猫的 ...

  4. linkin大话面向对象--多态

    java引用变量有2个类型,一个是编译时类型,一个是运行时类型: 编译时类型:声明的类型,把它看做是什么东西 运行时类型:真正的类型,实际上指的是什么东西 如果编译时类型和运行时类型不同,就出现多态. ...

  5. 【设计模式】面向对象 - 多态 ( 面向对象 3 要素 | 多态 提升 程序扩展性 | 多态示例 )

    文章目录 一.面向对象 3 要素 二.多态 ( 提升程序扩展性 ) 三.不使用多态示例 四.使用多态示例 总结 一.面向对象 3 要素 面向对象 333 要素 : 封装 : 解决 安全性 问题 ; 通 ...

  6. java 多态_Java面向对象 —— 多态

    前两天已经相继介绍了Java面向对象的三大特性之中的封装.继承,所以今天就介绍Java面向对象的三大特性的最后一项,多态~ 首先讲一下什么是多态,以及多态需要注意的细节 什么是多态:一个对象具备多种形 ...

  7. java面向对象多态特性

    一.多态的概念 多态是继封装,继承之后,面向对象的三大特性. 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的张三同学既是学生也是人,即出现两种形态. java作为面向对象的语言,同 ...

  8. php 多态有什么用,php面向对象多态的介绍与优势

    /* 1.多态的介绍与优势 (1)多态的意思是"多种形态" (2)多态根据对象类型不同来以不同方式处理 (3)多太的优势:面向对象不仅仅是把类继承起来,还能通过多太方式,来根据对象 ...

  9. java 面向对象多态_乐字节Java面向对象三大特性以及Java多态

    ​ 以上就是本次学习的6大任务.我们依次来看. 1 Object类 Object类是所有Java类的根基类. 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类. cla ...

  10. Python基础 ( 十 ) —— 面向对象(多态、封装、反射、动态导入)

    #面向对象的三大特性 1 继承(上一章的内容) 2 多态 python本身就是多态的 3 封装 # 多态 #不同类的实例化对象,调用同一个方法(执行的逻辑不同),而不用考虑他们具体的类,例如: 字符对 ...

最新文章

  1. delphi ---break,exit,continue等跳出操作的区别
  2. 刚在虚拟机上装的Linux系统,ifconfig后IP地址怎么成了127.0.0.1了
  3. 一个设计元素很多的网站
  4. springboot + ApplicationListener
  5. OpenGL:显示一些立体图形示例程序(真不错)
  6. 面向对象编程(五):数据抽象
  7. 华为服务器麒麟系统,麒麟云服务器
  8. 统计学习方法读书笔记6-K近邻算法及代码实现
  9. thinkphp-where-字符串条件
  10. 本人做的电子地图效果图
  11. Jenkins实现自动打包Android(安卓)程序
  12. 音视频的简介及其I2S协议
  13. matlab统计字符个数,Matlab函数统计字符串中莫个字母含量
  14. 高帝制礼作乐,周昌谏废太子
  15. 阿里巴巴面试算法题目:25匹赛马,5个跑道,也就是说每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马
  16. 腾讯企业邮箱发送邮件php,Laravel5.* 使用Smtp发送邮件以及常见报错解决(腾讯企业邮箱、163、QQ、Gmail 等) - Laravel学习网...
  17. php 上传微信客服头像,微信多客服上传头像
  18. Pycharm中不显示latest version
  19. illumina 肿瘤分析流程
  20. 如何在2015年后的MacBook Air上安装双系统

热门文章

  1. linux安装spec编译器,RPM包制作之Spec文件参数详解
  2. python接口测试_Python接口自动化测试框架实战开发(一)
  3. parallels desktop网络初始化失败_秘籍在手,训练不愁!特斯拉AI负责人Karpathy的超全神经网络训练套路...
  4. docker mysql忘记密码_docker 容器 mysql5.7 忘记root密码 重置密码
  5. Code First :使用Entity. Framework编程(7) ----转发 收藏
  6. DateUtils常用方法
  7. Bzoj 2724: [Violet 6]蒲公英(分块)
  8. 关于mtk Android打开串口权限问题
  9. MongoDB在linux下的启动
  10. 4月02日 提取汉字首字母,并大写的类