Python程序设计基础 Chap11 面向对象程序设计.pdf
《Python程序设计基础 Chap11 面向对象程序设计.pdf》由会员分享,可在线阅读,更多相关《Python程序设计基础 Chap11 面向对象程序设计.pdf(68页珍藏版)》请在咨信网上搜索。
1、内泰提纲11.1面句对象程序设计思想.o11.2 类和对象.011.3 属性和数据.-.-.011.4 方法.-.-.Q11.5 继承内家提纲11.6 多态与封装1L7定制类11.8 迭代器11.9 生成器11.10 综合示例本章小结治引例要求在终端输出如下信息。明明明晨晨晨 李李李张张张20岁,20岁,20岁,30岁,30岁,30岁,男,男,男男男男计算机专业掌握面向对象编程精通Python语言计算机专业精通Python语言掌握面向对象编程传统程序设计VS面向对象设计def major(name,age,gender):print($,%5岁,$,计算机专业%(name,age,gender
2、)def technique(name,age,gender):print($,%$岁,5,掌握面向对象编程%(name,age,gender)def language(name,age,gender):print(%s,%s岁,s,精通Python语言%(name,age,gender)major(“李明”,20,“男)technique(李明”,20,“男“)language(“李明”,20,“男)major(张晨”,30,“男)language(张晨”,30,“男)technique(张晨”,30,“男“)class Person:def _init_(self,name,age,gen
3、der):self.name=name self.age=age self.gender=genderdef major(self):print(”s,%s岁,s,计算机专业%(self.name,self.age,self.gender)def technique(self):print(”$,%5岁,$,掌握面向对象编程(self.name,self.age,self.gender)def language(self):print(s,%s岁,s,精通Python语言”%(self.name,self.age,self.gender)ming=Person(“李明”,20,“男)ming.
4、major()ming.technique()ming.language()chen=Person。张晨”,30,“男“)chen.major()chen.technique()nhpn gnrniaria八11.1面向对象程序设计思想:面向对象的基本设计思想 面向对象是从现实世界中客观存在的事物(即对象)出发来构造软件系统 强调直接以问题域(现实世界)中的事物为中心来思 考问题,认识问题 根据这些事物的本质特点,把它们抽象地表示为系统 中的对象,作为系统的基本构成单位 使系统直接地映射问题域,保持问题域中事物及其相 互关系的本来面貌11J J面向对象的基本概念:对象对象是现实世界中一个 实际
5、存在的事物,它可 以是一个物理对象,还 可以是某一类概念实体 的实例。面向对象程序设计的对 象,是系统中用来描述 客观事物的一个实体,是构成系统的一个基本 单元,由一组属性和一 组行为构成。:类 类是具有相同或相似性 质的对象的抽象。类是具有相似结构、行 为和关系的一组对象的 描述符,类包括属性和 操作。对象的抽象是类,类的 具体化就是对象,也可 以说类的实例是对象,类实际上就是一种数据-继承继承反应客观世界中各 类事物之间的一种“一 般和特殊”的关系。继承是指类之间有继承 关系,子类有条件地继 承父类的特征。一个新类可以从现有的 类中派生出来,这个过 程称为类继承。类的对象是各自封闭的,如果
6、没继承机制,则 类对象中的数据、方法 就会出现大量重复。继承不仅支持系统的可 重用性,而且还促进系 统的可扩充性。面向对象的基本卜心:封装封装就是把对象的属性 和基于属性的操作结合 成一个不可分割的独立 实体,并尽可能隐蔽对 象的内部细节,只保留 一些对外接口使之与外 部发生联系封装的目的在于把对象 的设计者和使用分开,使用者不必知晓行为实 现的细节,只需用设计 者对外提供的接口来访 问该对象如司机没有必要为了开 车而去了解以汽油作为 动力的内燃机引擎的工 作原理。11J J面向对象的基本概念:多态多态一般指具有多种形 态的能力对象的多态是指在一般 类中定义的属性或操作 被特殊类继承后,可以
7、具有不同的数据类型或 表现出不同的行为。利用多态性,用户可以 发送一个通用的信息,而将所有的实现细节都 留给接收消息的对象自 行决定。在面向对象程序设计中,可以在派生类中重定 义基类函数来实现多态 性。11J.2面向对象设计:面向对象程序设计借助特定的计算机语言实现从现实世界问题域中的实 体到计算机世界中的对象的映射表达。首先需要将客观存在的实体抽象成概念世界中的抽象 数据类型抽象数据类型里面包括实体中与需要解决的问题相关的 属性和方法再用面向对象的工具将这个抽象数据类型用计算机逻 辑表达出来即构造计算机能够理解和处理的类再将类进行实例化就得到了现实世界中的实体在计算 机世界中的映射对象面向对
8、象设计:面向对象程序设计具有如下优点 符合人们习惯的思维方法,便于分解大型的复杂多变 的问题 易于软件的维护和功能的增减 可重用性好 与可视化技术相结合,改善了工作界面11.2类和对象:类和对象关系对象是对某个具体客观事物的抽象类是对对象的抽象描述,在计算机语言中是一种抽象 的数据类型。类定义了数据类型的数据(属性)和行为(方法)。类与对象的关系是:对象是类的实例,类是对象的模板。对对象进行抽象为类-类(CLASS)例如:man class李明对类进行实例化11.2类和对象:创建类 Python定义一个类使用关键字class声明,类的声明格式如下:class className:类体class
9、是关键字className(类名)为有效的标识符命名规则一般为多个单词组成的名称,除每个单词的首字母大写外,其余字母 均小写。注意类名后面有个冒号。在类体中,可以定义属性和方法,由缩进 的语句块组成。11.2类和对象:创建对象类是抽象的,必须实例化类才能使用类定义的功能,即创建类的对象把类的定义视为数据结构的类型定义,那么实例化就 是创建了 一个这种类型的变量对象的创建和调用格式如下:anObject=className()例H-1定义类Person,创建Person类的对象p,并打印pclass Person:#定义类Personpass#类体为空语句p=Person()#创建和使用对象pp
10、rint(p)11.3属性和数据:类的数据成员是在类中定义的成员变量,用来存 储描述类的特征的值,称为属性。:属性可以被该类中定义的方法访问,也可以通过 类或类的实例进行访问。类属性 实例属性 私有属性/公有属性 自定义属性11.3.1类属性:类属性是类的数据或函数,类的数据属性仅仅是 所定义的类中的变量,它们可以像任何其他变量 一样在类定义后被使用。类属性属于整个类,不是特定实例的一部分,而是所 有实例之间共享的一个副本。类属性通常在类体中初始化,然后,在类定义的方法 或外部代码中,通过类名访问类属性的读、写访问都是通过“类名来实现的【例11-2定义Person类及其属性,利用类名访问类属性
11、class Person:name=Timage=22print(Person.name,Person.age)11.3.2实例属性每个实例对象都有自己的属性,通过“self.”变量 名定义,实例属性属于特定的实例。实例变量在类的内部通过“self.”访问 在外部通过对象实例访问。实例属性初始化:通常在init方法中利用“self对 实例属性进行初始化。类的内部通过“self.”访问se实例变量名=值外部利用对象名访问:obj=className()#创建对象obj.实例变量名=值#写入obj.实例变量名#读取11.3.2实例属性0【例11-3定义Student类,包括属性和方法,定义Stud
12、ent类的实例s1和s2,赋予不同的参数值,并通过实例名调用实例属性和方法。class Student:def _init_(self,name,age,grade):self.name=name self.age=ageself.grade=gradedef say_hi(self):print(!l am a student,my name is,self.name)s1=Student(Tom,21,3)s1.say_hi()print(s1.grade)s2=Student(,Mike,20)2)s2.say_hi()print(s2.grade)运行结果如下:I am a stude
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python程序设计基础 Chap11 面向对象程序设计 Python 程序设计 基础 面向 对象
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。