- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
面向对象三大特性江苏电子职业学院Python物联网
03多态
面向对象多态概念所有属于同一个类的对象都具有相同的特性和操作所谓多态(polymorphism),是指基类的同一个方法在不同派生类对象中具有不同的表现和行为。派生类继承了基类行为和属性之后,还会增加某些特定的行为和属性;派出类还可能会对继承来的某些行为进行一定的改变,比如重写。Python大多数运算符可以作用于多种不同类型的操作数,并且对于不同类型的操作数往往有不同的表现,这本身就是多态,是通过特殊方法与运算符重载实现的。
多态表现所有属于同一个类的对象都具有相同的特性和操作同一个方法talk()在不同派生类对象中具有不同的表现和行为。classAnimal:#同一类事物:动物deftalk(self):passclassCat(Animal):#动物的形态之一:猫deftalk(self):print(喵喵喵)classDog(Animal):#动物的形态之二:狗deftalk(self):print(汪汪汪)classPig(Animal):#动物的形态之三:猪deftalk(self):print(哼哼哼)cat=Cat()cat.talk()dog=Dog()dog.talk()pig=Pig()pig.talk()
面向对象多态表现所有属于同一个类的对象都具有相同的特性和操作对于上一页的方法重写表现的多态,我们可以更进一步。我们可以定义一个统一的接口(方法)来使用talk()方法。defdotalk(self,animal):animal.talk()通过父类变量调用doalk()方法,传入子类对象。传入子类的对象不同,表现出不同的形态。classAnimal:#同一类事物:动物deftalk(self):passdefdotalk(self,animal):animal.talk()classCat(Animal):#动物的形态之一:猫deftalk(self):print(喵喵喵)classDog(Animal):#动物的形态之二:狗deftalk(self):print(汪汪汪)classPig(Animal):#动物的形态之三:猪deftalk(self):print(哼哼哼)a=Animal()#创建父类对象cat=Cat()a.dotalk(cat)#通过父类变量调用方法,传入子类对象。dog=Dog()a.dotalk(dog)pig=Pig()a.dotalk(pig)
Isinstance和issubclass多态所有属于同一个类的对象都具有相同的特性和操作Isinstance:isinstance可以判断一个变量是否是某一种数据类型;还可以某个对象是否是这个类或其子类的对象。返回的是一个bool类型数据,True或False。issubclass:用来判断一个类是否是某个类的子类,返回的是一个bool类型数据,True或False。classFoo:def__init__(self,name,age):self.name=nameself.age=ageclassSon(Foo):passobj=Son(xiaoming,18)#输出Obj是不是FOO或其子类的对象print(isinstance(obj,Foo))#输出Son是不是Foo的子类print(issubclass(Son,Foo))
用面向对象优化数据库操作多态应用所有属于同一个类的对象都具有相同的特性和操作在一个系统中数据库连接不同的模块经常用到,所以数据库可以定义成一个共用的类,包含一个数据库连接方法。每一个数据库表的增、删、改、查封装成一个类,包括insert(),delete(),update(),serach()等方法。importpymysqlclassConnDb:defconn(host,user,passwd,db):passimportpymysqlImportConnDb#导入数据库连接模块classstudentDAO:definsertStu(self,tupleStu):passdefdeleteStu(self,id):
您可能关注的文档
- 逆向工程与快速成型技术应用 第4版 课件 项目 1 逆向工程技术.pptx
- 逆向工程与快速成型技术应用 第4版 课件 项目 3 数据处理及数模重构.pptx
- 逆向工程与快速成型技术应用 第4版 课件 项目 4 快速成型技术概述.pptx
- 逆向工程与快速成型技术应用 第4版 课件 项目 5 快速成型数据模型的前处理.pptx
- 逆向工程与快速成型技术应用 第4版 课件 项目 6 快速成型材料及后处理.pptx
- 逆向工程与快速成型技术应用 第4版 课件全套 1-1 掌握逆向工程技术的定义与实施流程--- 6-3 不同工艺成型件的后处理流程.pptx
- 逆向工程与快速成型技术应用 第4版 思考题及答案汇总 孙春华 项目1--6 逆向工程技术的认知---快速成型材料及后处理.docx
- 逆向工程与快速成型技术应用 第4版 思考题及答案 项目四 快速成型技术概述.docx
- 逆向工程与快速成型技术应用 第4版 思考题及答案 项目六 快速成型材料及后处理.docx
- 逆向工程与快速成型技术应用 第4版 思考题及答案 项目五 快速成型数据模型的前处理 .docx
- 某县纪委监委开展“校园餐”突出问题专项整治工作汇报22.docx
- 中小学校园食品安全与膳食经费管理专项整治工作自查报告66.docx
- 某县委常委、宣传部部长年度民主生活会“四个带头”个人对照检查发言材料.docx
- XX县委领导班子年度述职述廉报告3.docx
- 某县纪委关于校园餐问题整治工作落实情况的报告.docx
- 中小学校园食品安全与膳食经费管理专项整治工作自查报告22.docx
- 某县税务局党委领导班子年度民主生活会“四个带头”对照检查材料.docx
- 某县委书记在县委常委班子年度民主生活会专题学习会上的讲话.docx
- 某县纪委校园餐问题整治工作落实情况的报告.docx
- 某区委副书记、区长年度民主生活会对照检查材料.docx
文档评论(0)