面向对象的设计思想
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
类的定义格式分为说明部分和实现部分 说明部分包含数据成员和成员函数说明 实现部分是用来对成员函数的定义 类的一般定义格式如下:
<类名>{
: <公有数据成员和成员函数>;
: <保护数据成员和成员函数>;
: <私有数据成员和成员函数>;
}; <各个成员函数的实现>;
19
类的定义
是定义类的关键字是数据类型说明符,<类名>是一个标识符,用于唯 一地标识一个类(新的数据类型),类名后面花括号扩起来的部分是 类体( )。
9
基本概念——对象
世界上所有的事物都可以称为对象()。对象可以是有形的 如:一台电视机等。也可以是无形的如:帐户、一项记录 等。
一个对象就是一个独立存在的客观事物,它由一组属性和 对属性进行操作的一组操作构成。
属性是对象静态特征的描述 操作是对象动态特征的描述 属性和操作是对象的两大要素。如电视的属性有:品牌、
数据和对数据的操作方法放在一起,形成一个相对独立的 整体——对象(),同类对象还可抽象出共性,形成类 ( )。一个类中的数据通常只能通过本类提供的方法进 行处理,这些方法成为该类与外部的接口。对象之间通过 消息()进行通讯。 面向对象程序设计不像过程性编程那样,试图使问题满足 语言的过程性方法,而是试图让语言来满足问题的要求。 其理念是设计与问题的本质特性相对应的数据格式。
名、身高、体重,有鼻子、眼睛、四肢,能交流、有思维等等 类(“人”)描述的概念是抽象的 “人”的姓名是什么? “人”的身高是什么? 对象(“张三”)是具体的 “张三”的姓名是“张三” “张三”的身高是 类和对象的例子: 教室——五楼多媒体教室、四楼语音教室 国家——中国、美国 学校——福州大学、厦门大学
封装性增加了对象的独立性,从而保证了数据的可靠性。 外部对象不能直接操作对象的属性,只能使用对象提供的
服务。
TV
Jack
我们不用关心电视机的内部工作原理, 电视机提供了选台、调节音量等功能让我们使用。
18
类的定义
通过建立数据类型——类来支持封装和数据隐藏。一个定 义完好的类可以作为独立模块使用。
12
基本概念——消息
对象可以响应消息 我们把对象之间产生相互作用所传递的信息称做
消息。 将“向对象发消息”处理成“调用对象的某个成
员函数”
13
面向对象编程方法的特性
程序设计的重点在数据而不是函数 程序由对象组成,建立对象的目的不是为了完成
一个步骤,而是为了描叙某个事物在整个解决问 题的步骤中的行为。 对象之间通过相互协作来完成功能 大多数对象的定义以数据为中心 函数与相关的数据紧密结合 数据可以被隐藏 很容易扩充新的数据和函数
程序难以管理 数据修改存在问题 难以适应大型软件的设计 程序可重用性差 面向过程程序设计缺点的根源在于数据与数据处
理分离
8
面向对象程序设计
面向对象( )是认识事务的一种方法,是一种以对象为 中心的思维方式
面向源自文库象的程序设计: 对象(算法数据结构) 程序对象对象……对象 面向对象程序设计模拟自然界认识和处理事物的方法,将
姓名班级等内容
青蛙
用面向对象方法来认识青蛙
属性 颜色
.
重量……
No Image
行为
.
跳
捉害虫
17
封装和数据隐藏
封装是指按照信息屏蔽的原则,把对象的属性和操作结合 在一起,构成一个独立的对象。
通过限制对属性和操作的访问权限,可以将属性“隐藏” 在对象内部,对外提供一定的接口,在对象之外只能通过 接口对对象进行操作。
5
结构化程序设计
程序
模块 1
模块 2
模块 3
1.1 1.2 1.3
2.1
2.2
3.1
3.2
1.3.1 1.3.2 1.3.3
6
3.1.1 3.1.2
面向过程方法分析问题
结构化程序设计是 面向过程()的
7
结构化程序设计的缺点
结构化程序设计为处理复杂问题提供了有力手段, 但到年代末,这种设计方法逐渐暴露出以下缺陷:
章
面向对象的设计思想
中的数据类型 引用类型 函数重载 函数参数默认值 中的动态内存分配
2
回顾
程序设计思想 面向对象编程() 面向过程与面向对象的区别 的特性 类的定义 类的访问控制
本章内容
3
传统的结构化程序设计 ( ) 面向对象的程序设计 ( )
15 易扩展:由于继承、封装、多态的特性,自然设
面向对象的基本特征
抽象 封装和数据隐藏 继承 多态
16
抽象的设计思路
数据抽象化为属性
处理过程抽象化为操作(方法)
例如:当建立一个图书管理系统时,通过直觉知道系
统里一定要有图书管理员读者书这些对象, 而其中
读者的行为含有借书还书,学生还有其相应的学号
14
面向对象编程的优缺点
面向对象编程的优点: 易维护:可读性高,即使改变需求,由于继承的
存在,维护也只是在局部模块,维护起来是非常 方便和较低成本的。
质量高:可重用现有的,在以前的项目的领域中 已被测试过的类使系统满足业务需求并具有较高 的质量。
效率高:在软件开发时,根据设计的需要对现实 世界的事物进行抽象,产生类。这样的方法解决 问题,接近于日常生活和自然的思考方式,势必 提高软件开发的效率和质量。
程序设计方法
4
结构化程序设计
传统的程序设计方法可以归结为“程序算法数据结构”, 将程序定义为处理数据的一系列过程。这种设计方法的着 眼点是面向过程的,特点是数据与程序分离,即数据与数 据处理分离。
结构化程序设计的基本思想是采用自顶向下、逐步细化的 设计方法和单入单出的控制结构。其理念是将大型程序分 解成小型、便于管理的任务。如果其中的一项任务仍然过 大,则将它分解为更小的任务。这一过程将一直持续下去, 直到将程序划分为小型的,易于编写的模块。
尺寸、重量等。操作有:收视、选台、音量调节等。
10
基本概念——类
是一个抽象的概念,用来描述某一类对象所共有的、本质 的属性和类行为
根据抽象的原则对客观事物进行归纳和划分
11
类和对象的区别
如何区分类和对象——以“人”和“张三”为例 “人”描述了所有人(包括“张三” )都具有的属性和行为,如有姓
<类名>{
: <公有数据成员和成员函数>;
: <保护数据成员和成员函数>;
: <私有数据成员和成员函数>;
}; <各个成员函数的实现>;
19
类的定义
是定义类的关键字是数据类型说明符,<类名>是一个标识符,用于唯 一地标识一个类(新的数据类型),类名后面花括号扩起来的部分是 类体( )。
9
基本概念——对象
世界上所有的事物都可以称为对象()。对象可以是有形的 如:一台电视机等。也可以是无形的如:帐户、一项记录 等。
一个对象就是一个独立存在的客观事物,它由一组属性和 对属性进行操作的一组操作构成。
属性是对象静态特征的描述 操作是对象动态特征的描述 属性和操作是对象的两大要素。如电视的属性有:品牌、
数据和对数据的操作方法放在一起,形成一个相对独立的 整体——对象(),同类对象还可抽象出共性,形成类 ( )。一个类中的数据通常只能通过本类提供的方法进 行处理,这些方法成为该类与外部的接口。对象之间通过 消息()进行通讯。 面向对象程序设计不像过程性编程那样,试图使问题满足 语言的过程性方法,而是试图让语言来满足问题的要求。 其理念是设计与问题的本质特性相对应的数据格式。
名、身高、体重,有鼻子、眼睛、四肢,能交流、有思维等等 类(“人”)描述的概念是抽象的 “人”的姓名是什么? “人”的身高是什么? 对象(“张三”)是具体的 “张三”的姓名是“张三” “张三”的身高是 类和对象的例子: 教室——五楼多媒体教室、四楼语音教室 国家——中国、美国 学校——福州大学、厦门大学
封装性增加了对象的独立性,从而保证了数据的可靠性。 外部对象不能直接操作对象的属性,只能使用对象提供的
服务。
TV
Jack
我们不用关心电视机的内部工作原理, 电视机提供了选台、调节音量等功能让我们使用。
18
类的定义
通过建立数据类型——类来支持封装和数据隐藏。一个定 义完好的类可以作为独立模块使用。
12
基本概念——消息
对象可以响应消息 我们把对象之间产生相互作用所传递的信息称做
消息。 将“向对象发消息”处理成“调用对象的某个成
员函数”
13
面向对象编程方法的特性
程序设计的重点在数据而不是函数 程序由对象组成,建立对象的目的不是为了完成
一个步骤,而是为了描叙某个事物在整个解决问 题的步骤中的行为。 对象之间通过相互协作来完成功能 大多数对象的定义以数据为中心 函数与相关的数据紧密结合 数据可以被隐藏 很容易扩充新的数据和函数
程序难以管理 数据修改存在问题 难以适应大型软件的设计 程序可重用性差 面向过程程序设计缺点的根源在于数据与数据处
理分离
8
面向对象程序设计
面向对象( )是认识事务的一种方法,是一种以对象为 中心的思维方式
面向源自文库象的程序设计: 对象(算法数据结构) 程序对象对象……对象 面向对象程序设计模拟自然界认识和处理事物的方法,将
姓名班级等内容
青蛙
用面向对象方法来认识青蛙
属性 颜色
.
重量……
No Image
行为
.
跳
捉害虫
17
封装和数据隐藏
封装是指按照信息屏蔽的原则,把对象的属性和操作结合 在一起,构成一个独立的对象。
通过限制对属性和操作的访问权限,可以将属性“隐藏” 在对象内部,对外提供一定的接口,在对象之外只能通过 接口对对象进行操作。
5
结构化程序设计
程序
模块 1
模块 2
模块 3
1.1 1.2 1.3
2.1
2.2
3.1
3.2
1.3.1 1.3.2 1.3.3
6
3.1.1 3.1.2
面向过程方法分析问题
结构化程序设计是 面向过程()的
7
结构化程序设计的缺点
结构化程序设计为处理复杂问题提供了有力手段, 但到年代末,这种设计方法逐渐暴露出以下缺陷:
章
面向对象的设计思想
中的数据类型 引用类型 函数重载 函数参数默认值 中的动态内存分配
2
回顾
程序设计思想 面向对象编程() 面向过程与面向对象的区别 的特性 类的定义 类的访问控制
本章内容
3
传统的结构化程序设计 ( ) 面向对象的程序设计 ( )
15 易扩展:由于继承、封装、多态的特性,自然设
面向对象的基本特征
抽象 封装和数据隐藏 继承 多态
16
抽象的设计思路
数据抽象化为属性
处理过程抽象化为操作(方法)
例如:当建立一个图书管理系统时,通过直觉知道系
统里一定要有图书管理员读者书这些对象, 而其中
读者的行为含有借书还书,学生还有其相应的学号
14
面向对象编程的优缺点
面向对象编程的优点: 易维护:可读性高,即使改变需求,由于继承的
存在,维护也只是在局部模块,维护起来是非常 方便和较低成本的。
质量高:可重用现有的,在以前的项目的领域中 已被测试过的类使系统满足业务需求并具有较高 的质量。
效率高:在软件开发时,根据设计的需要对现实 世界的事物进行抽象,产生类。这样的方法解决 问题,接近于日常生活和自然的思考方式,势必 提高软件开发的效率和质量。
程序设计方法
4
结构化程序设计
传统的程序设计方法可以归结为“程序算法数据结构”, 将程序定义为处理数据的一系列过程。这种设计方法的着 眼点是面向过程的,特点是数据与程序分离,即数据与数 据处理分离。
结构化程序设计的基本思想是采用自顶向下、逐步细化的 设计方法和单入单出的控制结构。其理念是将大型程序分 解成小型、便于管理的任务。如果其中的一项任务仍然过 大,则将它分解为更小的任务。这一过程将一直持续下去, 直到将程序划分为小型的,易于编写的模块。
尺寸、重量等。操作有:收视、选台、音量调节等。
10
基本概念——类
是一个抽象的概念,用来描述某一类对象所共有的、本质 的属性和类行为
根据抽象的原则对客观事物进行归纳和划分
11
类和对象的区别
如何区分类和对象——以“人”和“张三”为例 “人”描述了所有人(包括“张三” )都具有的属性和行为,如有姓