版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章面向对象王小宁目录Contents2面向对象编程介绍011.
面向对象的主要概念(1)对象万物皆对象,任何一个操作或者是业务逻辑的实现都需要一个实体来完成,实体即对象,对象由属性和方法组成。属性:静态的,如体貌特征、年龄等;方法:动态的,如动作、行为等。(2)类类是对一群具有相同特征和行为的事物的统称。例如,人类具有相同的属性(姓名、性别、年龄等)和行为(吃饭、睡觉、走路等)。类是逻辑抽象和产生对象的模板,是一组变量和函数的特定编排。2.面向对象的三个特征(1)封装属性和方法的抽象,用数据和操作数据的方法来形成对象逻辑。保护了类的属性和方法,形成一个对外可操作的接口。(2)继承代码复用的高级抽象,用对象之间的继承关系来形成代码复用。新定义类能够几乎完全使用父级类的属性和方法。(3)多态方法灵活性的抽象,让对象的操作更加灵活、更多复用代码。不同的对象调用同一个方法会有不同的表现形态。类与对象021.创建类与实例对象类的命名通常以大写字母开头,创建类的语法格式为:class类名():
属性
方法创建实例对象的语法格式为:实例对象名=类名([参数列表])实例对象创建后,就可以使用“.”运算符来访问这个实例对象的属性和方法。实例对象名.属性名实例对象名.方法名([参数列表])1.创建类与实例对象例5-1:创建一个Animal类,并实例化一个动物对象。classAnimal:
name='动物'
defintroduce(self):
print("我是一只动物。")
a=Animal()
print()
roduce()2.类的属性与实例属性(1)类属性类的属性是在创建类时声明的变量,有时不允许在外部访问或更改,这些不允许在类外部访问或更改的属性为私有属性,可以在类外部进行访问或更改的属性为公有属性。定义私有的类属性,可以在属性名前加两个短下划线“__”。2.类的属性与实例属性例5-2:修改Animal类的属性,查看类与实例的属性。classAnimal:
name='动物'
defintroduce(self):
print("我是一只动物。")
a=Animal()
b=Animal()
A="猫"print(A,,)2.类的属性与实例属性(2)实例属性实例的属性也可以用“实例名.新属性”进行增加。例5-5:基于Animal类,为实例对象a增加weight的属性。classAnimal:
__name='动物'
defintroduce(self):
print(f"我是一只{self.__name}。")
a=Animal()
a.weight=2
print(a.weight)3.魔法方法Python中的魔法方法是一组特殊的方法,以双下划线__开头和结尾,用于实现类的特定行为和操作,在类或对象的特定事件发生时自动执行,例如对象的创建、销毁、运算符重载等。常见的魔法方法有:初始化方法__init__()、创建实例方法__new__()、析构方法__del__()、返回对象的长度__len__()、字符串表示方法:_str__()。3.魔法方法(1)__init__()__init__(),称为构造方法(或构造函数),一般用来为对象属性设置初始值或进行其它必要的初始化工作,当创建一个类的实例对象时,Python解释器都会自动调用它。在定义__init__()时,以self作为构造函数的第一个形式参数,其中函数体中的属性前缀是self,即self.实例属性。实例属性只能通过实例对象名访问,不能通过类名访问实例属性。语法格式如下:def__init__(self,...):
代码块3.魔法方法(2)__str__()__str__()是字符串表示方法,常用来改变类的输出字符串形式。4.类方法和静态方法类方法是在对类的操作方法,可以直接通过类名调用,不需要创建类的实例,通常用于实现与类相关的操作。类和实例对象都可以访问类方法,但类方法不能访问实例变量。类方法的定义语法如下。@classmethoddef类方法名(cls,[形参列表]):
函数体4.类方法和静态方法静态方法定义在类的内部,只能通过类名或实例调用。它们通常用于执行与类无关的操作。静态方法与普通函数的定义方法相同,可以没有参数,也不需要传入self和cls参数。类和实例都可以调用静态方法,但静态方法不能访问类变量和实例变量。静态方法的定义语法如下。@staticmethoddef类方法名([形参列表]):
函数体或者pass继承、多态与重写031.继承类生万物,继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的属性和行为。通过继承,子类不仅可以重用父类的代码,还可以对其进行扩展和修改。子类能继承父类的所有公共属性和公共方法,但不能继承其私有属性和私有方法。定义子类的语法为:class子类名(父类名):
类体2.重写当父类方法无法满足需求,可在子类中定义一个同名方法覆盖父类的方法,这就叫方法重写。重写的方法必须与父类中的方法具有相同的返回类型、方法名和参数列表,但可以有不同的实现。在子类的类体中,要继承父类的方法时,可以使用:父类名.方法名(self)或super().方法名([参数列表])3.多态多态是指同一个操作作用于不同的对象时,可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026青海海西州大柴旦矿区人民法院招聘4人备考题库及一套答案详解
- 2026浙江宁波市江北区人民政府咨询委员会招聘编外人员2人备考题库附答案详解(基础题)
- 2026湖南郴州文旅集团郴心游分公司招聘2人备考题库及答案详解(典优)
- 2026福建厦门市集美区蔡林学校产假顶岗教师招聘4人备考题库附答案详解(b卷)
- 2026福建源昌实验幼儿园(南安六幼)招聘专任教师1人备考题库附答案详解(培优a卷)
- 2026广东广州南沙人力资源发展有限公司招聘实习教师备考题库附答案详解(典型题)
- 幼儿园运动会心得体会十篇
- 2026上海银行暑期实习生招聘备考题库附答案详解(黄金题型)
- 2026棕榈生态城镇发展股份有限公司招聘9人备考题库及答案详解(真题汇编)
- 2026浙江湖州德清县体育产业发展有限公司招聘工作人员1人备考题库附答案详解(预热题)
- 劳务合同2026年合同协议
- 2026年离婚协议书
- 中考历史【小论文题】答题技巧
- 中职《内科学》(人卫版 第9版)同步课件 高原病
- 2025年产前筛查和产前诊断题库(带答案)
- 井下电钳工考试题库(2025年版国家题库)
- 文创产品打样合同范本
- 2024年A特种设备相关管理(A4电梯)考试题库附答案
- 粮库有限空间安全培训课件
- 《C++程序设计及项目实践》 课件 第16章 标准模板库
- 2025版《煤矿安全规程》解读
评论
0/150
提交评论