- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第1页第7章面向对象编程本章概述本章的学习目标主要内容
第2页本章概述面向对象编程(ObjectOrientedProgramming,OOP)的思想主要针对大型软件设计而提出。现象对象编程能够很好地支持代码复用和设计复用,代码具有更好的可读性和可扩展性,大幅降低了软件开发的难度。面向对象编程的关键是将数据操作封装一起,组成一个相互依存、不可分割的整体,即对象。不同对象之间通过消息机制进行通信或同步。对相同类型的对象进行分类、抽象后,得出共同的特征,从而形成“类”。面向对象编程的关键就在于如何合理地定义这些类并且合理组织多个类之间的关系。Python是真正面向对象的高级动态编程语言,完全支持面向对象的基本功能,如封装、继承、多态以及对基类方法的覆盖或重写。Python中对象的概念很广泛,Python中的一切内容都可以称为对象,函数也是对象。创建类时使用变量形式表示对象特征的成员称为数据成员,用函数形式表示对象行为的成员称为成员方法,数据成员和成员方法统称为类的成员。
第3页本章的学习目标掌握类的定义和使用;掌握类的私有成员和公有成员的定义和使用;掌握数据成员的定义和使用;掌握使用方法来描述对象所具有的行为;掌握属性的定义和使用;掌握类的封装以及类之间的继承、多态;了解专有方法。
第4页主要内容7.1面向对象概述7.2深入介绍类7.3封装7.4继承与多态7.5类的专有方法7.5本章实战7.6本章小结
第5页7.1面向对象概述面向对象术语简介类定义类的使用类的方法
第6页面向对象术语简介类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函数。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(Override),也称为方法的重写。局部变量:定义在方法中的变量,只作用于当前实例的类。实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。继承:即一个派生类(derivedclass)继承基类(baseclass)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计,一个Dog类型的对象派生自Animal类,这是模拟“是一个(is-a)”关系(例如,Dog是一个Animal)。实例化:创建一个类的实例,类的具体对象。对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
第7页类定义在Python语言中定义一个类,语法格式如下:classClassName:statement-1……statement-N类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性。类定义的示例程序如下:classMyClass(object):i=123deff(self):returnhelloworld
第8页类的使用示例代码如下:#!/usr/bin/python3#-*-coding:UTF-8-*-?classMyClass(object):i=123deff(self):returnhelloworld?use_class=MyClass()print(调用类的属性:,use_class.i)print(调用类的方法:,use_class.f())
第9页类的方法在类的内部,使用def关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数,self代表的是类的实例。示例程序如下:#类定义classpeople:#定义基本属性name=age=0#定义私有属性,私有属性在类外部无法直接进行访问__weight=0#定义构造方法def__init__(self,n,a,w):self.name=nself.age=aself.__weight=wdefspeak(self):print(%s说:我%d岁。%(self.name,self.age))#实例化类p=people(runoob,10,30)p.speak()
第10页主要内容7.1面向对象概述
您可能关注的文档
最近下载
- 结构专业05-重庆市建筑工程钢结构设计导则-工业建筑部分、重庆市工业建筑钢结构工程初步设计和施工图设计文件编制技术规定和审查要点-结构专业解析.ppt VIP
- 苏教版小学数学五年级上册第五单元《小数乘法和除法》单元测试卷(含答案).docx VIP
- 道路改造工程支出绩效评价报告.docx VIP
- 2023中职27 婴幼儿保育 赛题 模块三 婴幼儿早期学习支持(赛项赛题).docx
- 数据、模型与决策(原书第14版)戴维R安德森课后习题答案(部分).pdf
- 创伤学临床诊疗指南.pdf
- 苏教版五年级上册数学 第五单元 小数乘法和除法 单元测试卷.docx
- 项目部突发事件应急预案新版.doc VIP
- 艾默生Mentor MP Mentor MP 高性能直流驱动说明书.pdf
- 变频器使用手册完整版.pdf
文档评论(0)