教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 初中教育 >

11 面向对象设计思想

来源:网络收集 时间:2026-08-13
导读: 卓越嵌入式培训课件 C++基础教程 第十一章 面向对象的设计思想 卓越嵌入式培训课件 C++基础教程 本章内容 程序设计思想 面向对象编程(OOP) 面向过程与面向对象的区别 OOP的特性 类的定义 类的访问控制 卓越嵌入式培训课件 C++基础教程 程序设计方法 传统的面

卓越嵌入式培训课件 C++基础教程

第十一章

面向对象的设计思想

卓越嵌入式培训课件 C++基础教程

本章内容 程序设计思想 面向对象编程(OOP) 面向过程与面向对象的区别 OOP的特性 类的定义 类的访问控制

卓越嵌入式培训课件 C++基础教程

程序设计方法 传统的面向过程的程序设计– POP(Process Oriented Programming)

面向对象的程序设计– OOP(Object Oriented Programming)

卓越嵌入式培训课件 C++基础教程

结构化程序设计2-1 传统的程序设计方法可以归结为“程序=算法+数据结构” ,将程序定义为处理数据的一系列过程。这种设计方法的 着眼点是面向过程的,特点是数据与程序分离,即数据与 数据处理分离。 结构化程序设计的基本思想是采用自顶向下、逐步细化的 设计方法和单入单出的控制结构。其理念是将大型程序分 解成小型、便于管理的任务。如果其中的一项任务仍然过 大,则将它分解为更小的任务。这一过程将一直持续下去 ,直到将程序划分为小型的,易于编写的模块。

卓越嵌入式培训课件 C++基础教程

结构化程序设计2-2程 序

模块 11.1 1.21.3.1

模块 21.31.3.2

模块 33.13.1.1 3.1.25

2.11.3.3

2.2

3.2

卓越嵌入式培训课件 C++基础教程

结构化程序设计的缺点 结构化程序设计为处理复杂问题提供了有 力手段,但到80年代末,这种设计方法逐 渐暴露出以下缺陷:– 程序难以管理 – 数据修改存在问题 – 难以适应大型软件的设计 – 程序可重用性差

面向过程程序设计缺点的根源在于数据与 数据处理分离6

卓越嵌入式培训课件 C++基础教程

面向对象程序设计 面向对象(Object Oriented )是认识事务的一种方法, 是一种以对象为中心的思维方式 面向对象的程序设计:– 对象=(算法+数据结构) – 程序=对象+对象+……+对象

面向对象程序设计模拟自然界认识和处理事物的方法,将 数据和对数据的操作方法放在一起,形成一个相对独立的 整体——对象(object),同类对象还可抽象出共性,形 成类(class )。一个类中的数据通常只能通过本类提供 的方法进行处理,这些方法成为该类与外部的接口。对象 之间通过消息(message)进行通讯。 面向对象程序设计不像过程性编程那样,试图使问题满足 语言的过程性方法,而是试图让语言来满足问题的要求。 其理念是设计与问题的本质特性相对应的数据格式。7

卓越嵌入式培训课件 C++基础教程

基本概念——对象 世界上所有的事物都可以称为对象(Object)。对象可以是 有形的如:一台电视机等。也可以是无形的如:帐户、一 项记录等。 一个对象就是一个独立存在的客观事物,它由一组属性和 对属性进行操作的一组操作构成。– 属性是对象静态特征的描述 – 操作是对象动态特征的描述

属性和操作是对象的两大要素。如电视的属性有:品牌、 尺寸、重量等。操作有:收视、选台、音量调节等。

8

卓越嵌入式培训课件 C++基础教程

基本概念——类 是一个抽象的概念,用来描述某一类对象所共有的、本质 的属性和类行为 根据抽象的原则对客观事物进行归纳和划分

类的一个具体实现,称为实例

描述这类对象共有的、本质的属性和行为

对象

具体到一只圆形的或方形的手表

手表

手表共有的属性(表针、旋钮、内部结构) 和行为(调节旋钮)9

一块手表

卓越嵌入式培训课件 C++基础教程

类和对象的区别 如何区分类和对象——以“人”和“张三”为例 “人”描述了所有人(包括“张三” )都具有的属性和行为,如有姓 名、身高、体重,有鼻子、眼睛、四肢,能交流、有思维等等 类(“人”)描述的概念是抽象的– “人”的姓名是什么? – “人”的身高是什么?

对象(“张三”)是具体的– “张三”的姓名是“张三” – “张三”的身高是185CM

类和对象的例子:– 教室——五楼多媒体教室、四楼语音教室 – 国家——中国、美国 – 学校——福州大学、厦门大学

卓越嵌入式培训课件 C++基础教程

基本概念——消息 对象可以响应消息 我们把对象之间产生相互作用所传递的信 息称做消息。 C++将“向对象发消息”处理成“调用对象 的某个成员函数”

卓越嵌入式培训课件 C++基础教程

面向对象的基本特征 抽象 封装和数据隐藏 继承 多态

卓越嵌入式培训课件 C++基础教程

抽象的设计思路 数据抽象化为属性 处理过程抽象化为操作(方法)– 例如:当建立一个图书管理系统时,通过直觉知 道系统里一定要有图书管理员/读者/书这些对 象, 而其中读者的行为含有借书/还书,学生还有 其相应的学号/姓名/班级等内容 青蛙

用面向对象方法来认识青蛙

属性 颜色 重量 行为 跳 捉害虫

.

.

卓越嵌入式培训课件 C++基础教程

封装和数据隐藏 封装是指按照信息屏蔽的原则,把对象的属性和操作结合 在一起,构成一个独立的对象。 通过限制对属性和操作的访问权限,可以将属性“隐藏” 在对象内部,对外提供一定的接口,在对象之外只能通过 接口对对象进行操作。 封装性增加了对象的独立性,从而保证了数据的可靠性。 外部对象不能直接操作对象的属性,只能使用对象提供的 服务。 TVJack

我们不用关心电视机的内部工作原理, 电视机提供了选台、调节音量等功能让我们使用。

卓越嵌入式培训课件 C++基础教程

类的定义2-1 C++通过建立数据类型——类来支持封装和数据隐藏。一 个定义完好的类可以作为独立模块使用。 类的定义格式分为说明部分和实现部分– 说明部分包含数据成员和成员函数说明 – 实现部分是用来对成员函数的定义

类的一般定义格式如下:class <类名>{ public : <公有数据成员和成员函数>; protected: <保护数据成员和成员函数>; private : <私有数据

成员和成员函数>; }; <各个成员函数的实现>;

卓越嵌入式培训课件 C++基础教程

类的定义2-2 class是定义类的关键字是数据类型说明符,<类名>是一个标识符, 用于唯一地标识一个类(新的数据类型),类名后面花括号扩起来的 部分是类体(Class Body)。 类体中定义了类成员表(Class Member List)– 数据成员(Data Member) – 成员函数(Member Function)

public、protected和private是访问限定符(access specifier) 一般在类体内先说明公有成员,它们是用户所关心的,后说明私有成 员,它们是用户不感兴趣的,但此顺序并不是必须的。 在类的说明部分之后必须加分号“;‖。 类的定义放在一个头文件中(.h),供其它需要使用该类的文件包含 类的实现部分放在一个源文件中(.cpp),该文件需要包含定义类的头 文件 类的定义和实现可以放在一个文件里,但不提倡,因为结构不清晰, 影响了程序的可读性16

卓越嵌入式培训课件 C++基础教程

青蛙类CFrog的定义//frog.h文件 class CFrog{ public: void SetSkinColor(int skinColor) void SetWeight(float weight) int GetSkinColor(); float GetWeight(); void jump(float distance); vo …… 此处隐藏:2583字,全部文档内容请下载后查看。喜欢就下载吧 ……

11 面向对象设计思想.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/48045.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)