python基础--面向对象之多态
# 多态是指一类事物有多种行态,
# 例如:动物有多种形态:人,狗,猫
# 他们有一些共同的特征:吃,喝,拉,撒
# 多态性是指在不考虑实例类型的情况下使用实例
# 对同一事物不同的类,对象有不同的响应,
# 例如:放假了,有的同学回家,有的去旅游,有的去兼职
# 有的在敲代码(就是我啦)
# 列表,字符串,字典都有len属性,但是是不同的执行过程。
class Animal():
def talk(self):
pass
class People(Animal):
def __init__(self,name):
self.name = name
def talk(self):
print("%s 说人话"%self.name)
class Cat(Animal):
def __init__(self,name):
self.name = name
def talk(self):
print("%s 说猫话"%self.name)
class Dog(Animal):
def __init__(self,name):
self.name = name
def talk(self):
print("%s 说狗话"%self.name)
peo = People('wang')
cat = Cat('cat')
dog = Dog('dog')
peo.talk()
cat.talk()
dog.talk()
# 多态性的函数
# 1,增加了程序的灵活性,
# 2,增加了程序的课扩展性
# 鸭子类型
# python崇尚鸭子类型,Python崇尚鸭子类型,即‘如果
# 看起来像、叫声像而且走起路来像鸭子,那么它就是鸭子’ # python程序员通常根据这种行为来编写程序。例如,如果想编
# 写现有对象的自定义版本,可以继承该对象 # 也可以创建一个外观和行为像,但与它无任何关系的全
# 新对象,后者通常用于保存程序组件的松耦合度。
python基础--面向对象之多态的更多相关文章
- python基础——面向对象编程
python基础——面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的 ...
- Python 基础 面向对象之二 三大特性
Python 基础 面向对象之二 三大特性 上一篇主要介绍了Python中,面向对象的类和对象的定义及实例的简单应用,本篇继续接着上篇来谈,在这一篇中我们重点要谈及的内容有:Python 类的成员.成 ...
- python基础--面向对象基础(类与对象、对象之间的交互和组合、面向对象的命名空间、面向对象的三大特性等)
python基础--面向对象 (1)面向过程VS面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. ...
- python基础——继承和多态
python基础——继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类 ...
- python基础——面向对象进阶下
python基础--面向对象进阶下 1 __setitem__,__getitem,__delitem__ 把对象操作属性模拟成字典的格式 想对比__getattr__(), __setattr__( ...
- python基础——面向对象进阶
python基础--面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 ...
- python基础——面向对象的程序设计
python基础--面向对象的程序设计 1 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...
- 第八章:Python基础の面向对象(二)
本課主題 面向对象的多态 面向对象的成员 成员修饰符 特殊成员 面向对象其他应用 异常处理 设计模式与单例模式 面向对象的多态 指定参数类型只是多态的一种表现 另外一种是允许自己类型和自己的子类型(典 ...
- Python自动化 【第七篇】:Python基础-面向对象高级语法、异常处理、Scoket开发基础
本节内容: 1. 面向对象高级语法部分 1.1 静态方法.类方法.属性方法 1.2 类的特殊方法 1.3 反射 2. 异常处理 3. Socket开发基础 1. ...
随机推荐
- 【HDU6709】Fishing
题目大意:有 N 条鱼,每条鱼都有钓鱼和烤鱼的时间,钓鱼的时间均相同,每条鱼都有自己的烤鱼时间,一次只能烤一条鱼,且不能间断.现要求通过某种顺序将所有的鱼钓上来并烤完,求最小的时间是多少. 题解: 对 ...
- 提取全局应用程序集中的dll
如何提取全局应用程序集中的dll GAC路径:C:\WINDOWS\assembly 在资源管理器中打开这个路径看到的东西不能复制,右键中也只有 “卸载” 和 “属性” 两个菜单. 在命令提示符下切换 ...
- vue使用echart中国地图
/* 引入 ECharts (按需加载) 文档:http://echarts.baidu.com/tutorial.html#%E5%9C%A8%20webpack%20%E4%B8%AD%E4%BD ...
- LightOJ-1079-Just another Robbery(概率, 背包)
链接: https://vjudge.net/problem/LightOJ-1079#author=feng990608 题意: As Harry Potter series is over, Ha ...
- Atcoder Regular Contest 066 F genocide【JZOJ5451】
题目 分析 \(s[i]\)表示a前缀和. 设\(f[i]\)表示做完了1~i的友谊颗粒的最优值(不一定选i),那么转移方程为 \[f[i]=max\{f[i-1],max\{f[j]-s[i]+s[ ...
- border-box与content-box的区别
㈠box-sizing 属性 ⑴box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素. ⑵语法:box-sizing: content-box|border-box|inherit; ...
- Exchanger 原理
Exchanger(交换者)是一个用于线程间协作的工具类.Exchanger用于进行线程间的数据交换.它提供一个同步点,在这个同步点两个线程可以交换彼此的数据.这两个线程通过exchange方法交换数 ...
- python实战,
1.把日志状态码为200得请求记录下来 记录信息(ip,访问时间,请求资源) 封装函数再次调用,健壮性try except #coding=utf-8import redef aclog(path, ...
- jpa repostiory
JpaRepository的查询 image.png image.png Spring Data JPA框架在进行方法名解析时,会先把方法名多余的前缀截取掉,比如 find.findBy.re ...
- Maven项目解决Remove '@override' annotation终极方案
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...