1面向对象程序设计概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
和行为的对象的抽象。
例如,教师黎明是一个对象。
对象名: 黎明
对象的属性:
一个个的象黎
年龄:45 学历:博士
明这样的教师就 构成教师类。
职称:教授
对象的行为(操作):
走路
吃饭
授课
类和对象之间的关系是抽象和具体的关系,
类是对多个对象进行抽象的结果。
一个对象是类的一个实例。
例如:
张三、李四、王五、….. --- 人
在面向对象程序设计中: 对象是描述其属性的数据以及对这些数据施加的一组操作封
装在一起构成的统一体。 对象可以认为是:数据 + 操作
对对 数 据 象象 操作代码
在面向对象程序设计中,用数据来体现上面提到的Βιβλιοθήκη Baidu属性”, 用函数来实现对数据的操作,以实现某些功能。
2.类
在现实世界中, “类”是对一组具有共同的属性
1面向对象程序设计概述
• •
第1章 面向对象程序设计概述
1.1 什么是面向对象程序设计 1.2 为什么要使用面向对象程序设计 1.3 面向对象程序设计的语言
1.1.1 什么是面向对象程序设计
面向对象程序设计是一种新的程序设计的范型。
程序设计范型是指设计程序的规范、模型和风格,它 是一类程序设计语言的基础。一种程序设计范型体现 了一类语言的主要特征。
1.1.3 面向对象程序设计的基本特征 本节主要内容
1. 抽 象 2. 封 装 3. 继 承 4. 多 态
1. 抽 象
现实生活中: 张三、李四、王五、…... --- 人 苹果、梨、桔子、香蕉 …... ---水果
抽象的过程是将有关事物的共性归纳、集中的过程。
在程序设计方法中:
抽象是对复杂世界的简单表示,抽象并不打算了解 全部问题,而只强调感兴趣的信息,忽略了与主题无关 的信息。
程序就是由这些过程构成的。
面向过程的程序设计方法将数据和过程作为两个实 体来对待,数据和过程是分离的。
面向过程的程序设计的缺点是:
一旦数据需要变更的时候,必须修改与之有关的所 有模块。
因此,面向过程的程序的可重用性差,维护代价高, 数据安全性较差。
面向对象的程序设计将数据和相应的操作看成一个 统一体,这个统一体称为对象。 面向对象程序设计的主要特征是: 程序 = 对象 + 消息 对象是面向对象程序的基本元素。
面向过程程序设计范型的主要特征是,程序由过程定 义和过程调用组成。
基于面向过程的程序可以用以下的公式来表述:
程序 = 过程 + 调用
所谓过程就是程序执行某项操作的一段代码,函数是 最常用的过程。
面向过程程序设计语言称为面向过程性语言,如C、 PASCAL等都是典型的面向过程性语言。
用面向过程的程序设计语言解决一个实际问题时, 通常分为以下三步: 1.将问题分解成若干个称之为模块的功能块; 2. 根据模块功能来设计一系列用于存储数据的数据 结构; 3. 编写一些过程(或函数)对这些数据进行操作。
1.1.2 面向对象程序设计的基本概念
1.对象:在现实世界中,对象是我们认识世界的基本单
元。 它可以是人,物,一件事,整个世界就是由形形色 色的“对象”构成的。 对象可以是: * 有形的具体存在的事物 例如: 一辆车、一个球、一个小学生; * 无形的、抽象的事件 例如: 一次演出、一场球赛等。 对象既可以很简单,也可以很复杂,复杂的对象可 以由若干简单的对象构成。
例如,在设计一个成绩管理程序的过程中,只关心他 的姓名、学号、成绩等,而对他的身高、体重等信息 就可以忽略。
而在设计学生健康信息管理系统中,身高、体重等
信息必须抽象出来,而成绩则可以忽略。
抽象包括两个方面:数据抽象和代码抽象。 数据抽象描述某类对象的共同属性; 代码抽象描述了某类对象具有的共同行为。
属性 对 象 行为
举例:
对象名: 录音机 对象的属性:
静态特征
生产厂家: SONY
机器编号 :XXXX
出厂日期 :2009.05.06
对象的行为: 使的用内对部象是播时如放只何需实知现道的它。向外界提供的接口动形态式特而征不需要知道它
这样录,音不仅使得对象的使用变得非常简单、方便,而且具
有很高的停安止全性和可靠性。 人们的可思见倒维面带。向对象程序设计中的对象来源于现实世界,更接近
面向对象程序的结构特点是: 第一,程序一般由类的定义和类的使用两部分组成。 在程序中由类定义其对象,并规定对象之间传递消息 的规律。 第二,程序中的一切操作都是通过向对象发送消息 来实现的。
对象接收到消息后,启动有关方法完成相应的操作。
面向对象程序设计是一种新的程序设计的范型,是解 决面向过程的程序设计的缺点的最好方法。
对象
类
再如:
苹果、梨、桔子、香蕉 - - - 水果
对象
类
在面向对象程序设计中,
“类”就是具有相同的数据和操作(函数)的一组对象 的集合。
在C++语言中把类中的数据称为数据成员,类中的操 作是用函数来实现的,这些函数称为成员函数。
实际上,类是一种新的用户定义的抽象的数据类型, 对象是类的一个实例。
类类型与传统数数据据类类型型的重要区别实是例: 一个类在定in义t 数据的同时也a定,b义(了变对量这) 些数据的操作。
(3) 接收对象对消息的响应并不是必须的,对象可以 响应消息,也可以不响应。
4.方法
调用对象中的函数就是向该对象传送一个消息,要 求该对象实现某一行为(功能、操作)。 对象所能实现的行为(操作),在程序设计方法中称为方 法,方法中定义了一系列的操作步骤它们是通过调用相 应的函数来实现的。 实际上: 在C++语言中,方法是通过成员函数来实现的。
现实世界中的对象,具有以下特性:
(1) 每一个对象必须有一个名字以区别其它对象; (2) 用属性来描述对象的某些特征; (3) 有一组操作,每一个操作决定对象的一种行为; (4) 对象的操作可以分为两类:一类是自身所承受的操 作,一类是施加于其他对象的操作。
在现实世界中对象 可以表示为:
属性 + 行为
学生类
张三,李四( 对象)
水果类
苹果,桔子(对象)
3.消息
在面向对象程序设计中,对象之间的联系,称为对象 的交互。
在面向对象程序设计中,一个对象向另一个对象发 出的请求被称为“消息” 。
消息具有三个性质:
(1) 同一个对象可以接收不同形式的多个消息,作出 不同的响应;
(2) 相同形式的消息可以传递给不同的对象,所作出 的响应可以是不同的;