1. # 多态是指一类事物有多种行态,
  2. # 例如:动物有多种形态:人,狗,猫
  3. # 他们有一些共同的特征:吃,喝,拉,撒
  4. # 多态性是指在不考虑实例类型的情况下使用实例
  5. # 对同一事物不同的类,对象有不同的响应,
  6. # 例如:放假了,有的同学回家,有的去旅游,有的去兼职
  7. # 有的在敲代码(就是我啦)
  8. # 列表,字符串,字典都有len属性,但是是不同的执行过程。
  9. class Animal():
  10. def talk(self):
  11. pass
  12. class People(Animal):
  13. def __init__(self,name):
  14. self.name = name
  15. def talk(self):
  16. print("%s 说人话"%self.name)
  17. class Cat(Animal):
  18. def __init__(self,name):
  19. self.name = name
  20. def talk(self):
  21. print("%s 说猫话"%self.name)
  22. class Dog(Animal):
  23. def __init__(self,name):
  24. self.name = name
  25. def talk(self):
  26. print("%s 说狗话"%self.name)
  27. peo = People('wang')
  28. cat = Cat('cat')
  29. dog = Dog('dog')
  30. peo.talk()
  31. cat.talk()
  32. dog.talk()
  33. # 多态性的函数
  34. # 1,增加了程序的灵活性,
  35. # 2,增加了程序的课扩展性
  36. # 鸭子类型
  37. # python崇尚鸭子类型,Python崇尚鸭子类型,即‘如果
  38. # 看起来像、叫声像而且走起路来像鸭子,那么它就是鸭子’
  39.  
  40. # python程序员通常根据这种行为来编写程序。例如,如果想编
  41. # 写现有对象的自定义版本,可以继承该对象
  42.  
  43. # 也可以创建一个外观和行为像,但与它无任何关系的全
  44. # 新对象,后者通常用于保存程序组件的松耦合度。

python基础--面向对象之多态的更多相关文章

  1. python基础——面向对象编程

    python基础——面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的 ...

  2. Python 基础 面向对象之二 三大特性

    Python 基础 面向对象之二 三大特性 上一篇主要介绍了Python中,面向对象的类和对象的定义及实例的简单应用,本篇继续接着上篇来谈,在这一篇中我们重点要谈及的内容有:Python 类的成员.成 ...

  3. python基础--面向对象基础(类与对象、对象之间的交互和组合、面向对象的命名空间、面向对象的三大特性等)

    python基础--面向对象 (1)面向过程VS面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. ...

  4. python基础——继承和多态

    python基础——继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类 ...

  5. python基础——面向对象进阶下

    python基础--面向对象进阶下 1 __setitem__,__getitem,__delitem__ 把对象操作属性模拟成字典的格式 想对比__getattr__(), __setattr__( ...

  6. python基础——面向对象进阶

    python基础--面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 ...

  7. python基础——面向对象的程序设计

    python基础--面向对象的程序设计 1 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...

  8. 第八章:Python基础の面向对象(二)

    本課主題 面向对象的多态 面向对象的成员 成员修饰符 特殊成员 面向对象其他应用 异常处理 设计模式与单例模式 面向对象的多态 指定参数类型只是多态的一种表现 另外一种是允许自己类型和自己的子类型(典 ...

  9. Python自动化 【第七篇】:Python基础-面向对象高级语法、异常处理、Scoket开发基础

    本节内容: 1.     面向对象高级语法部分 1.1   静态方法.类方法.属性方法 1.2   类的特殊方法 1.3   反射 2.     异常处理 3.     Socket开发基础 1.   ...

随机推荐

  1. 也来谈谈SQL SERVER 自定义函数~

    在使用SQL SERVER 数据库的时候,函数大家都应该用过,简单的比如 系统聚合函数 Sum(),Max() 等等.但是一些初学者编写自定义函数的时候,经常问起什么是表值函数,什么是标量值函数. 表 ...

  2. k8s名称空间资源

    namespace是k8s集群级别的资源,用于将集群分隔为多个隔离的逻辑分区以配置给不同的用户.租户.环境或项目使用,例如,可以为development.qa.和production应用环境分别创建各 ...

  3. mybatis 关联查询和嵌套查询的简单示例

    两个表: Customer 顾客表 create table if not exists customer( customer_id int primary key auto_increment, f ...

  4. java——解决"java.io.StreamCorruptedException: invalid stream header: xxx"

    这个错误是由序列化引起的,可能的原因以及解决方法: 1.kryo对于集合(比如 Map)的反序列化会失效,报这个错误,解决办法比较暴力,不用kryo了,直接用java原生方法. 2.使用Java原生方 ...

  5. BZOJ 3551: [ONTAK2010]Peaks加强版 Kruskal重构树+dfs序+主席树+倍增

    建出来 $Kruskal$ 重构树. 将询问点向上跳到深度最小,且合法的节点上. 那么,得益于重构树优美的性质,这个最终跳到的点为根的所有子节点都可以与询问点互达. 对于子树中求点权第 $k$ 大的问 ...

  6. UVA 11346 Possibility

    #include<bits/stdc++.h> #include<stdio.h> #include<iostream> #include<cmath> ...

  7. Android 属性动画监听事件与一个菜单的例子

    简单监听事件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 3 ...

  8. 分区间统计sql、删除重复数据

    删除重复数据 备份表 删除最早的评论

  9. python学习之路(3)

    字符串和编码 因为python最早只支持ASCII编码普通的字符串'ABC'在Python内部都是ASCII编码的.Python提供了ord()和chr()函数,可以把字母和对应的数字相互转换 后来p ...

  10. 【Spark机器学习速成宝典】基础篇01Windows下spark开发环境搭建+sbt+idea(Scala版)

    注意: spark用2.1.1 scala用2.11.11 材料准备 spark安装包 JDK 8 IDEA开发工具 scala 2.11.8 (注:spark2.1.0环境于scala2.11环境开 ...