![程序设计基础(Python语言)面向对象程序设计_第1页](http://file4.renrendoc.com/view/1b849240d3a804733602ebf7a2ae6bc6/1b849240d3a804733602ebf7a2ae6bc61.gif)
![程序设计基础(Python语言)面向对象程序设计_第2页](http://file4.renrendoc.com/view/1b849240d3a804733602ebf7a2ae6bc6/1b849240d3a804733602ebf7a2ae6bc62.gif)
![程序设计基础(Python语言)面向对象程序设计_第3页](http://file4.renrendoc.com/view/1b849240d3a804733602ebf7a2ae6bc6/1b849240d3a804733602ebf7a2ae6bc63.gif)
![程序设计基础(Python语言)面向对象程序设计_第4页](http://file4.renrendoc.com/view/1b849240d3a804733602ebf7a2ae6bc6/1b849240d3a804733602ebf7a2ae6bc64.gif)
![程序设计基础(Python语言)面向对象程序设计_第5页](http://file4.renrendoc.com/view/1b849240d3a804733602ebf7a2ae6bc6/1b849240d3a804733602ebf7a2ae6bc65.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计面向对象(ObjectOriented)是一种软件开发方法,一种编程范式。面向对象的思想是从更高的层次来进行系统建模,把构成问题的各个事务分解成由相关的数据和方法组织的对象。03继承和多态0102类的定义、创建和使用属性与方法面向对象程序设计类的创建Part01类的使用Part02类的创建和使用class
MyObject:
'define
MyObject
class'
passo
=
MyObject()一个简单的类class
AddressBook:
'define
Address
Book
class'
def
__init__(self,
name,
phone)
->
None:
=
name
self.phone
=
phone
print("create
AddressBook
instance
with
%s"%)
def
update_phone(self,
phone):
self.phone
=
phone
print("AddressBook
{}'s
phone
has
updated."%(,))创建一个类(类的定义)__init__()函数被被称为类的构造器。即:类在实例化操作期间被调用的特殊方法。
类的构造器所有的类的方法都至少拥有一个参数,即self。self参数代表类的实例。通过实例调用其方法时,解释器将隐含传递self参数,无需用户显式传递。
self参数>>>ab1=AddressBook('张三',)createAddressBookinstancewith张三>>>ab2=AddressBook('李四',)createAddressBookinstancewith李四类的使用实例化的参数必须和__init__()函数的参数一致。实例化的参数>>>'张三'>>>ab1.phone实例的属性的使用>>>ab1.update_phone()AddressBook张三'sphonehasupdatedwit例的方法的使用03继承和多态0102类的定义、创建和使用属性与方法面向对象程序设计属性Part01方法Part02属性与方法类与实例Part03>>>classA:pass>>>a=A()>>>a.x=10>>>a.y=23>>>a.x+a.y33Python属性的动态性Python允许实例在创建以后,动态的添加、删除其属性和方法。>>>a2=A()>>>a2.foo=100>>>vars(a2){'foo':100}>>>vars(a){'x':10,'y':23}Python属性的查看——varsPython提供了内置函数vars(),可以查看实例的属性。属性Part01方法Part02属性与方法类与实例Part03classMyObject:'defineMyObjectclass'defmy_func(self): #方法的定义pass>>>o=MyObject()>>>o.my_func() #方法的调用方法方法的是在类的定义中定义的函数。>>>o.f=lambdax:x**2>>>o.f(20)400Python方法的动态性Python的方法也具有动态性,可以动态添加。属性Part01方法Part02属性与方法类与实例Part03classMyClass:'defineMyClassclass'version='1.0'defshow_version(self):
print(MyClass.version)>>>MyClass.version'1.0'类属性类属性是只与类相关而不与某个特定的实例相关的数据。>>>c1=MyClass()>>>c1.version'1.0'>>>MyClass.version='1.1'>>>c1.version'1.1'类属性>>>MyClass.new_val=100>>>c1.new_val100类属性的动态性>>>c1.version=2.2>>>c1.version #c1实例的新的属性2.2>>>MyClass.version #类属性'1.1'类属性与实例属性classMyClass:'defineMyClassclass'version='1.0'defshow_version(self): #实例的方法。必须创建一个实例
print(MyClass.version)类方法类方法是只与类相关而不与某个特定的实例相关的函数。classMyClass:'defineMyClassclass'version='1.0'
@classmethoddefshow_version(cls): #类方法。必须创建一个实例
print(MyClass.version)>>>MyClass.show_version()1.0类方法03继承和多态0102类的定义、创建和使用属性与方法面向对象程序设计>>>classC(MyClass):pass>>>C.version #子类C自动具有类属性version'1.0'>>>C.show_version()
#子类C自动具有类方法show_version1.0继承继承就是子类继承父类的属性和方法。classP:deffoo(self):
print("ThisisP-foo().")classC(P):deffoo(self):
print("ThisisC-foo().")多态多态是指子类与父类具有相同的方法,却是不同的实现。作业1.创建一个类Point,它表示某个点的X坐标和Y坐标的有序数值对。X和Y的值在实例化时传入构造器。如果缺失某个坐标值,则自动设置为0。重写__st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度阁楼商业空间租赁合同
- 二零二五年度卫生院聘用合同(公共卫生服务人员)
- 二零二五年智能制造业实习生劳动合同模板2篇
- 二零二五年度煤炭运输节能减排技术改造合同
- 《电视剧数据分析》课件
- 二零二五年度土地承包经营权抵押担保合同模板3篇
- 《长期资产核算》课件
- 《大数据的介绍》课件
- 未来人力资源管理的发展前景
- 体育教师培训体系建设策略
- 四川省泸州市2024年中考地理试卷(附解析)
- DL∕T 1785-2017 电力设备X射线数字成像检测技术导则
- GE-LM2500+G4航改燃气轮机在舰船和工业上的应用
- 2024山东能源集团中级人才库选拔(高频重点提升专题训练)共500题附带答案详解
- 武汉市江夏区2022-2023学年七年级上学期期末数学试卷【带答案】-109
- GB/T 43921-2024无损检测超声检测全矩阵采集/全聚焦技术(FMC/TFM)
- SL 288-2014 水利工程施工监理规范
- 部编版八年级语文上册期末考试卷
- 2024年江苏淮阴城市产业投资集团有限公司招聘笔试冲刺题(带答案解析)
- 部编版人教版语文八年级下册全册课件
- 2024年太仓高新控股有限公司招聘笔试冲刺题(带答案解析)
评论
0/150
提交评论