python多态_python 多态
第一类多态:
from cat import Cat
from mouse import Mouse
from person import Person
'''
多态:一种事物的多种形态
最终目标:人可以喂任何一种动物
'''
tom = Cat("tom")
jerry = Mouse("jerry")
tom.eat()
jerry.eat()
#思考:在添加100种动物,也都有name属性和eat方法
#定义了一个有name属性和eat方法的Animal类,让所有的动物类都继承自Animal
#定义一个人类,可以喂猫和老鼠吃东西
per = Person()
#per.feedCat(tom)
#per.feedMouse(jerry)
#思考:人要喂100种动物,难道要写100个feed方法吗??
#tom和jerry都继承自动物
per.feedAnimal(tom)
per.feedAnimal(jerry)
第二类cat:
from animal import Animal
class Cat(Animal):
def __init__(self, name):
#self.name = name
super(Cat, self).__init__(name)
# def eat(self):
# print(self.name + "吃")
第三类mouse:
from animal import Animal
class Mouse(Animal):
def __init__(self, name):
#self.name = name
super(Mouse, self).__init__(name)
# def eat(self):
# print(self.name + "吃")
第四类animal:
class Animal(object):
def __init__(self, name):
self.name = name
def eat(self):
print(self.name + "吃")
第五类person:
class Person(object):
'''
def feedCat(self, cat):
print("给你食物")
cat.eat()
def feedMouse(self, mouse):
print("给你食物")
mouse.eat()
'''
def feedAnimal(self, ani):
print("给你食物")
ani.eat()
python多态_python 多态相关推荐
- python多态_Python 多态与抽象类
一.多态 1.1 什么是多态 多态也称"多态性",指的是同一种类型的事物,不同的形态. 在python中的多态指的是让多种类若具备类似的数据属性与方法属性,都统一好命名规范,这样可 ...
- python多态_python多态和规范
python规范(接口类) 接口类可以规范代码,但接口类本身是不实现的 class Payment: def pay(self,money): raise Notlmplemented class W ...
- python多态_Python多态
面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 定义类的准则 继承 实现代码的重用,相同的代码不需要重复的编写 设计类的技巧 子类针对自己特有的需求,编写特定的代码 ...
- python 多态_Python中的多态
面向对象的语言有四个特性,抽象.封装.继承和多态.在之前的文章中,给小伙伴们已经讲解了前三个.为什么要把多态放在最后一个讲呢?因为前面的三个特性是多态的基础,了解了前三个,了解多态就很容易啦~ 那么, ...
- 浅谈python使用多态跟不用多态的区别_python 多态和 super 用法
python 中的多态实现非常简单,只要是在子类中实现和父类同名的方法,便能实现多态,如果想在子类中调用父类的方法,有多种方法,但是当涉及菱形继承等问题是,super 就成为了比较好的解决方案. 普通 ...
- python中的多态用法_Python面向对象之多态原理与用法案例分析
本文实例讲述了Python面向对象之多态原理与用法.分享给大家供大家参考,具体如下: 目标 多态 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 定义类的准则 继承 ...
- python继承和多态心得_python学习第十五天 -面向对象之继承和多态
大家都知道面向对象的三大特性:封装,继承,多态.封装特性在上一章节已经讲解过.这一章节主要讲解继承和多态. 继承:当定义一个类的时候,可以从现有的类进行继承.那么新定义的类可以称为子类,被继承的现有的 ...
- python封装继承多态_Python:封装、继承、多态、私有成员
Python作为一种面向对象语言,也有着面向对象的三种特性:封装.继承.多态. 封装: 将事物相关的属性和方法封装在某一个类里面,使得在调用类创建实例时,可以不用关心类内部的实现细节. 类的本质: 1 ...
- python中的多态是什么_Python中的多态
python中的多态是什么 Polymorphism is a concept of Object Oriented Programming, which means multiple forms o ...
最新文章
- 【Laravel-海贼王系列】第九章, Events 功能解析
- 支付宝蚂蚁森林合种树,2-4天领证,1/2号车满员,3号车成立
- 「模型训练」如何迁移学习一个小网络到移动端
- android透明像素效率,android-非透明像素上的ImageView ColorFilter.夹
- 数的划分(信息学奥赛一本通-T1304)
- 泛型类 0104 c#
- jquery-自定义通用方法-jquery通用方法-所有对象的通用方法
- 比尔盖茨 27 年婚姻破裂,8000 亿财产咋分配?
- 广东机电职业技术学校计算机怎么样,广东机电职业技术学院宿舍怎么样 住宿条件好不好...
- 蓝桥杯 ALGO-5 算法训练 最短路
- Javascript iframe交互并兼容各种浏览器的解决方案
- python 防破解_Python 程序员如何防止数据被修改?
- php中mysql_affected_rows()更新记录返回0_php中mysql_affected_rows()返回-1帶來的“陷阱” | 學步園...
- 分布式ID生成之雪花算法
- QLineEdit用正则表达式限制double类型输入,double转为9位小数的字符串
- [Windows小工具]两款屏幕取色拾色器(免安装,1MB左右大小)
- jetson nano 自动调节风扇转速
- 美国低速自动驾驶在公共交通应用详解 | 自动驾驶系列
- Python爬取腾讯招聘信息
- Layer Tree 绘制
热门文章
- 蒙特卡洛梯度估计方法(MCGE)简述
- python——LeetCode刷题
- obs 推流编码在哪设置_OBS录屏软件
- 汉语是什么_为什么出国留学以及工作要考国际汉语教师资格证?
- 程序员学习网站备份(小众+不定时更新ing...)建议收藏
- HttpClient工具类
- 18款帝豪gl车机升级_好看又实用的2018款帝豪GL分享,感受它的魅力
- linux declare大小写,关于linux:将用户输入转换为大写
- C#——《C#语言程序设计》实验报告——面向对象程序设计——自动出题判分小程序
- Visual C++——《可视化编程技术》实验报告——资源的应用—反弹的球