基于DirectX的飞机大战游戏(C++ 版)的开发与设计毕业设计论文_第1页
基于DirectX的飞机大战游戏(C++ 版)的开发与设计毕业设计论文_第2页
基于DirectX的飞机大战游戏(C++ 版)的开发与设计毕业设计论文_第3页
基于DirectX的飞机大战游戏(C++ 版)的开发与设计毕业设计论文_第4页
基于DirectX的飞机大战游戏(C++ 版)的开发与设计毕业设计论文_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业设计论(文)题目 基于 DirectX 的飞机大战游戏(C +版)的开发与设计英文题目 The development and Design ofAircr a ft wa r game Based on DirectX学生姓名学号指导教师 职称 副教授专业 软件工程东 华 理 工 大 学 软 件 学 院二零 一三 年 三 月九 日软件学院毕业设计(论文)摘要摘要飞 机 游 戏 是 一 款 风 靡 全 球 的 电 视 机 游 戏 和 掌 上 游 戏 机 产 品 , 曾 几 何 时 , 它 创 造 了 一 个 无 法 企 及 的 游 戏 巅 峰 ,也 曾 影 响 了 一 代 产 业 链 。虽

2、 然 它 辉 煌 的 业 绩 在 历 史 的 涡 轮 中 渐 渐 远 去 , 但 这 款 游 戏 每 每 提 及 , 总 会 令 人 爱 不 释 手 , 魂 牵 梦 绕 。这 款 游 戏 的 名 字 叫 做 <<飞 机 大 战 >>, 它 是 运 行 于 W i ndow s 操 作 系 统 下 的 一 款 2 D 游 戏 ,以 C /C +为 开 发 语 言 ,构 建 于 M i crosoft Fou nda tio n C l a s s L ibra ry ( M FC ) 框 架 体 系 中 , 其 中 调 用 了 部 分 的 W i n3 2 A PI 函

3、数 接 口 , 在 Vi su a l C +6 .0 环 境 下 使 用 Dire ctX ( S D K) 软 件 开 发 包 来 开 发 的 一 款 多 媒 体 游 戏 。随 着 硬 件 性 能 的 不 断 提 高 , 游 戏 的 日 益 普 及 , Dire ctX 开 发 包 的 更 新 和 完 善 , 使 开 发 者 不 在 需 要 过 多 的 关 注 不 同 的 硬 件 设 备 。 本 论 文 着 眼 于 D i re ctS ou nd , Dire ctDra w 的 运 用 , 开 发 出 仅 由 于 理 论 研 究 的 二 维 平 面 射 击 类 游 戏 。本 文 首 先

4、 分 析 了 电 脑 游 戏 的 发 展 历 史 ,然 后 分 析 了 制 作 游 戏 的 基 本 流 程 和 游 戏 本 身 所 要 包 含 的 哪 几 种 元 素 以 及 游 戏 应 具 备 的 游 戏 层 次 。根 据 2 D 游 戏 的 特 点 和 游 戏 的 角 色 ,以 及 给 用 户 呈 现 的 游 戏 界 面 的 特 效 ,对 2 D 图 形 技 术 ,W i nd ow s 图 形 界 面 编 程 技 术 GDI,D i rec tDra w 的 显 卡 接 口 和 D i rec tS ou nd 声 卡 接 口 以 及 M V C 设 计 模 式 下 的 M F C 框

5、架 等 技 术 进 行 了 比 较 仔 细 的 研 究 。 通 过 自 定 义 一 个 游 戏 类 C Ga m e ,封 装 了 游 戏 元 素 的 基 本 属 性 和 行 为 ,这 样 便 于 在 用 到 游 戏 的 行 为 操 作 是 , 只 要 轻 松 的 产 生 C Ga m e 对 象 便 可 直 接 调 用 其 方 法 ,也 有 利 于 当 升 级 为 双 人 游 戏 , 网 路 版 时 ,只 需 要 在 该 类 中 添 加 相 应 的 行 为 便 可 。当 我 们 向 用 户 呈 现 游 戏 运 行 的 界 面 时 , 通 过 T im er 时 钟 控 件 , 映 射 到 相

6、 应 的 处 理 函 数 , 使 得 游 戏 界 面 大 约 每 2 秒 钟 刷 新 一 下 界 面 , 这 样 才 能 让 一 张 位 图 背 景 图 片 具 有 动 态 效 果 。 当 使 用 Dire ctS ou nd 声 卡 接 口 时 , 我 方 和 敌 方 相 互 射 击 所 发 出 的 声 音 , 都 是 在 时 钟 映 射 函 数 调 用 时 处 理 的 。关 键 词 : C/ C+; VC+/ MFC; 飞 机 大 战 游 戏东华理工大学软件学院毕业设计(论文)A BS TRAC TABSTRACTA i rpla ne g a m e i s a popu l a r g

7、 l oba l T V g a m e a nd ha nd he ld g a m e produ cts , once u pon a ti m e, i t crea te s a g a m e ou t o f rea c h pea k , ha v e influ e nce d a g en era ti on o f indu stria l c ha i n. A l th ou g h i t brill i a nt perform a nc e in the hi s tory of tu rbi ne fa de d a w a y, bu t the g a m

8、 e i s o fte n m entione d, cu d dl y, a l w a y s m i s s .T he g a m e 's na m e i s < < pla ne w a r > >, i t i s ru n ni ng on W i ndow s ope ra tin g sy ste m s, a 2 d g a m e, w i th C /C + + a s de v e l o pm e nt l a ng u a g e, bu i l di ng on the M i croso ft F ou n da ti o

9、n C l a s s L i bra ry ( M FC ) fra m e w ork , w hi ch i nv ok e s the pa rt W in3 2 A PI fu ncti o n i nterfa c e , in the Vi su a l C + + 6 .0 e nv i ronm e nt u si ng Di re ctX softw a re d ev el opm e nt k i t ( S D K) to d e v e lop a m u l ti m edia g a m e.W i th the c on s ta nt i m prov e

10、m en t of the ha rd w a re p erform a nc e, th e ris in g popu l a ri ty o f the g a m e , Dire ctX d ev el opm e nt k i t u pda te a nd perfec t, m a k e de v el opers don't ne ed too m u ch a tten ti on to di ffe rent ha rd w a re d ev i c e s. T he u se of thi s the si s focu s on Dire ctS ou

11、 nd , D i rec tDra w , d e v e loped only du e to the the oreti ca l re sea rc h of tw o- di m en s io na l pla ne shooti ng g a m e .T his a rti cl e fi r st a na l y z e s the de v e l o pm e nt hi story of com pu ter g a m e s, a nd the n a na l y ze the ba si c proc e s s of m a k ing g a m e a

12、nd the g a m e i tsel f n e e d to i nc lu de w ha t k ind of el e m ents a nd th e g a m e sh ou ld ha v e l e v e l . A cc ordi ng to the c ha ra cteri stic s of the 2 d g a m e a nd g a m e rol e, a n d to the u se r i nterfa c e re nd eri ng e ffe cts, th e te chn ol og y of 2 d g ra p hi c s, g

13、 ra phi ca l i nterfa c e W i ndow s GDI prog ra m m i ng tec hnol og y , the g ra phi c s i nterfa c e a n d Dire ctS ou nd D i re ctDra w sou nd ca rd i nterfa ce a nd M FC fra m e w ork o f M V C d e si g n m od e to c o m pa re the ca re fu l re sea rch. T hrou g h a cu stom g a m e C Ga m e cla

14、 s s, enca p su l a te s the ba si c a ttri bu te of g a m e el e m ents a nd be ha v i or, so ea sy to u se i n the g a m e opera tion, a s l ong a s ea sy to produ ce the C Ga m e obje ct ca n be dire ctly to ca l l i ts m e thod s, bu t a l so to w hen u pg ra d ed to a dou bl e g a m e, onli ne

15、ve r sion, ju st ne e d to a d d the proper be ha v ior i n the c l a s s. W hen w e pre sent g a m e opera tion interfa c e to the u ser, by the T im er c lo ck c ontrol tha t i s m a ppe d to the corre spon di ng proc e s si ng fu nc ti on, m a k e s the g a m e a b ou t ev ery 2 se c on d s re fr

16、es h interfa c e, i n th i s w a y ca n w e m a k e a b i tm a p ba ck g rou nd pi ctu re w i th d y na m i c e ffe ct. W he n u si ng Dire ctS ou nd sou nd ca rd i nterfa c e, w e a n d the noi se m a d e by e ne m y fi re, a re on the clock w hen proc e s si ng the m a ppi ng fu n cti on ca l l .K

17、EY W OR D S : C /C + +; V C + + M FC /; pla n e w a r g a m e东华理工大学软件学院毕业设计(论文)目录目录摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABS TRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18、. . . . . . . . . . . . 目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 第 1 章 绪 论11. 1 选 题 的 目 的 和 意 义11. 2 论 文 结 构 安 排1第 2 章 游 戏 的 相 关 知 识 和 系 统 开 发 平 台 的 阐 述22. 1 游 戏 基 本 流 程 概 述22. 2 游 戏 系 统 元 素 阐 述32.3 游 戏 系 统 的 层 次52.4 开 发 环 境

19、 和 相 关 技 术 的 概 述5 .1 开 发 环 境 :5 .2 相 关 技 术5第 3 章 游 戏 的 分 析 和 设 计93. 1 游 戏 分 析93.1 .1 概 述9 .2 可 行 性 分 析103.2 游 戏 设 计15 . 1 游 戏 总 体 设 计 规 划15 .2 游 戏 的 对 战 规 则16第 4 章 游 戏 的 各 模 块 的 详 细 设 计 与 实 现1 14.1 游 戏 界 面 显 示 模 块17 .1 模 块 描 述17 .2 模 块 功 能17 .3 模 块 实 现174. 2 文 字 消 息 提 示 模 块14 .1 模 块 描 述14 .2 模 块 功 能

20、14 .3 模 块 实 现154. 3 子 弹 发 射 模 块16 .1 模 块 描 述 和 功 能16 .2 模 块 实 现174. 4 键 盘 操 作 模 块18 .1 模 块 描 述 和 功 能18 .2 模 块 实 现194. 5 全 屏 模 块19 .1 模 块 描 述 和 功 能19 .2 模 块 实 现204. 6 游 戏 结 束 模 块26东华理工大学软件学院毕业设计(论文)目录 .1 模 块 描 述 和 功 能26 .2 模 块 实 现26第 5 章论 文 总 结2 75. 1 总 结22致谢2 8参 考 文 献2 4附 录2 5东华理工大学软件学院毕业设计(论文)绪论第 1

21、 章 绪论1 .1 选 题 的 目 的 和 意 义过 去 , 人 们 只 要 是 借 助 电 影 , 电 视 , 音 乐 等 方 式 来 娱 乐 。 而 今 天 , 随 着 计 算 机 技 术 多 媒 体 技 术 的 飞 速 发 展 ,计 算 机 硬 件 性 能 的 不 断 跃 升 ,以 游 戏 为 代 表 的 电 子 娱 乐 正 成 为 主 流 娱 乐 方 式 。因 为 CPU 以 及 显 卡 等 设 备 的 高 速 发 展 ,为 人 们 开 发 出 更 加 炫 目 多 彩 的 游 戏 提 供 了 可 能 。时 代 的 发 展 ,社 会 的 进 步 ,科 学 技 术 正 以 日 新 月 异

22、的 速 度 飞 速 的 向 前 发 展 。 计 算 机 技 术 的 发 展 更 是 迅 速 而 且 广 泛 。 可 以 说 , 计 算 机 已 经 涉 及 到 现 代 绝 大 部 分 行 业 。目 前 纷 繁 复 杂 的 游 戏 软 件 比 比 皆 是 ,无 论 在 线 的 网 路 游 戏 还 是 桌 面 游 戏 ,二 维 的 还 是 三 维 立 体 空 间 的 ,多 由 单 机 版 游 戏 孕 育 而 来 。 学 习 简 单 的 单 机 版 游 戏 的 制 作 , 有 利 于 初 学 者 了 解 到 游 戏 制 作 的 理 念 。 目 前 不 论 是 在 国 内 还 是 世 界 范 围 内

23、,游 戏 产 业 都 如 雨 后 的 春 笋 ,蓬 勃 发 展 ,越 来 越 多 更 具 娱 乐 性 的 游 戏 产 品 被 开 发 出 来 , 这 其 中 在 众 多 的 游 戏 开 发 工 具 中 , Mi c r os of t 的 Vi s u a l C+ 系 列 被 认 为 是 当 今 世 界 最 强 大 的 游 戏 开 发 软 件 之 一 。 其 代 表 作 : 魔 兽 争 霸 系 列 、 星 际 争 霸 系 列 、 帝 国 时 代 系 列 等 等 等 等 , 几 乎 所 有 的 大 作 都 有 VC 的 功 劳 。因 此 掌 握 了 VC 的 应 用 ,不 但 是 掌 握 了

24、一 种 优 秀 的 开 发 工 具 ,对 于 今 后 参 加 大 型 团 队 的 游 戏 项 目 开 发 也 具 有 一 定 的 帮 助 。本 设 计 通 过 开 发 一 个 单 机 版 的 基 于 Di r e c t X 的 射 击 类 游 戏 ,有 一 定 的 娱 乐 性 很 值 得 一 试 。通 过 制 作 这 样 一 个 软 件 , 可 以 加 深 对 游 戏 设 计 思 想 的 了 解 , 也 可 以 进 一 步 熟 悉 编 程 工 具 的 应 用 , 更 可 以 给 我 们 的 生 活 带 来 更 多 的 趣 味 。 通 过 该 设 计 , 我 将 更 好 的 了 解 wi nd

25、ows 消 息 机 制 , 更 深 的 体 会 到 利 用 Vi s u a l C+/ MFC 开 发 wi nd ows 程 序 的 优 越 性 。1 .2 论 文 结 构 安 排第 二 章 介 绍 游 戏 的 相 关 知 识 和 背 景 ,以 及 开 发 环 境 的 阐 述 ,主 要 包 括 对 电 脑 游 戏 制 作 的 基 本 流 程 ,游 戏 元 素 的 分 析 以 及 游 戏 层 次 的 简 要 剖 析 。第 三 章 游 戏 分 析 与 设 计 ,包 括 系 可 行 性 分 析 和 游 戏 对 战 规 则 ,介 绍 基 于 Di r e c t X 开 发 的 多 媒 体 游 戏

26、 ,第 四 章 游 戏 各 模 块 的 详 细 设 计 与 实 现 ,主 要 包 括 了 6 个 模 块 :游 戏 操 作 界 面 显 示 ,文 字 消 息 提 示 模 块 ,子 弹 发 射 模 块 ,键 盘 操 作 ,全 屏 以 及 游 戏 结 束 模 块 。 第 五 章 论 文 的 总 结 , 以 及 相 关 技 术 的 参 考 文 献 。1东华理工大学软件学院毕业设计(论文)游戏的相关知识和系统平台的阐述第 2 章 游戏的相关知识和系统开发平台的阐述2 .1 游 戏 基 本 流 程 概 述一 个 游 戏 基 本 上 是 一 个 连 续 的 循 环 , 它 完 成 一 系 列 的 逻 辑

27、操 作 , 并 在 屏 幕 上 绘 制 图 像 , 具 体 流 程 如 下 :初 始 化 : 在 这 一 步 中 , 游 戏 程 序 执 行 标 准 初 始 化 操 作 , 如 内 存 分 配 、 资 源 采 集 、 从 磁 盘 载 入 数 据 等 等 , 这 和 其 他 Wi n d ows 应 用 程 序 一 样 。进 入 游 戏 循 环 : 在 这 一 步 中 , 游 戏 代 码 将 进 入 游 戏 主 循 环 , 此 时 各 种 游 戏 动 作 和 情 节 开 始 运 行 , 直 到 当 接 受 到 用 户 退 出 游 戏 的 命 令 。获 取 玩 家 的 输 入 信 息 :在 这 一

28、 步 中 ,游 戏 玩 家 的 输 入 信 息 被 处 理 或 缓 存 ,以 备 下 一 步 人 工 智 能 和 游 戏 逻 辑 使 用 。执 行 人 工 智 能 和 游 戏 逻 辑 :这 部 分 包 括 了 游 戏 代 码 的 主 体 ,诸 如 执 行 人 工 智 能 、 物 理 系 统 和 常 规 的 游 戏 逻 辑 , 其 结 果 用 于 渲 染 下 一 帧 图 像 。渲 染 下 一 帧 图 像 : 游 戏 的 输 入 和 第 四 步 中 游 戏 人 工 智 能 和 游 戏 逻 辑 执 行 的 结 果 ,被 用 来 产 生 游 戏 的 下 一 帧 。 这 个 图 像 通 常 放 在 不

29、可 见 的 缓 存 区 内 ,因 此 玩 家 不 会 看 到 它 逐 渐 被 渲 染 的 过 程 。随 后 该 图 像 被 迅 速 拷 贝 到 显 示 存 储 器 中 并 显 示 出 来 。同 步 显 示 :通 常 由 于 游 戏 复 杂 程 序 不 同 ,游 戏 在 计 算 机 上 运 行 的 速 度 会 不 一 。 使 用 定 时 器 和 等 待 函 数 确 保 游 戏 和 最 大 帧 同 步 , 通 常 认 为 3 0 FPS ( 帧 / 秒 ) 是 可 以 接 受 的 最 低 速 率 , 而 大 多 数 动 作 玩 家 将 他 们 的 图 形 调 整 到 不 大 于 6 0 FPS 。

30、循 环 : 返 回 到 游 戏 的 入 口 并 重 新 执 行 上 述 全 部 步 骤 。关 闭 : 这 一 步 游 戏 结 束 , 表 示 将 退 出 主 程 序 或 游 戏 循 环 , 并 回 到 操 作 系 统 。 然 而 , 在 用 户 进 行 结 束 之 前 , 用 户 必 须 释 放 所 有 的 资 源 并 清 理 系 统 。游 戏 基 本 流 程 简 图 如 下 :2东华理工大学软件学院毕业设计(论文)游戏的相关知识和系统平台的阐述图 - 1游 戏 基 本 流 程 图2 .2 游 戏 系 统 元 素 阐 述游 戏 元 素 是 指 各 类 游 戏 的 基 本 构 成 要 素 ,该

31、项 目 主 要 是 侧 重 射 击 类 游 戏 ,那 么 其 中 主 要 包 括 4 中 元 素 :( 1 ) 游 戏 界 面 : 人 物 造 型 、 战 斗 场 地 、 动 画 效 果 等 , 当 玩 家 在 进 行 游 戏 时 , 界 面 的 效 果 ,风 格 将 会 在 第 一 时 间 告 诉 给 玩 家 , 这 是 游 戏 的 大 致 轮 廓 , 其 中 主 要 包 括 以 下 2 点 : 图 形 技 术 : 2 D 和 3 D 图 形 技 术 ; 游 戏 视 角 : 第 一 人 称 视 角 , 第 三 人 称 视 角 , 俯 视 角 。( 2 ) 游 戏 创 意 : 游 戏 的 创

32、作 意 义 , 新 奇 , 惊 人 , 震 撼 , 实 效 , 有 较 突 出 的 独 立 性 。( 3 ) 可 玩 性 :有 较 强 的 可 玩 性 , 情 绪 风 格 精 神 这 三 个 方 面 特 征 。可 玩 性 是 玩 家 和 乐 趣 之 间 的 沟 通 桥 梁 , 不 仅 体 现 在 单 机 玩 家 和 电 脑 对 抗 中 , 也 体 现 在 多 人 多 角 色 的 竞 争 中 , 良 好 的 可 玩 性 是 游 戏 是 否 能 够 占 领 市 场 的 作 用 之 一 。( 4 ) 游 戏 声 音 : 游 戏 声 音 常 常 用 于 渲 染 气 氛 , 烘 托 游 戏 的 乐 趣

33、, 使 得 游 戏 不 显 得 匮 乏 无 力 。 用 于 给 予 听 觉 上 的 反 馈 , 例 如 音 效 , 背 景 音 乐 , 对 话 等 , 高 品 质 的 音 乐 可 以 达 到 争 强 游 戏 的 表 现 力 的 效 果 。3东华理工大学软件学院毕业设计(论文)游戏的相关知识和系统平台的阐述2 .3游 戏 系 统 的 层 次游 戏 系 统 可 以 分 为 三 个 层 次 : 游 戏 层 , 引 擎 层 , 系 统 层 , 如 下 图 所 示 :图 -2 游 戏 的 层 次 图2 .4开 发 环 境 和 相 关 技 术 的 概 述2 .4 .1 开 发 环 境 :操 作 系 统 :

34、 XP, Wi n 7 程 序 语 言 : C+开 发 包 :MFC , Di r e c t X( S DK) I DE:Vi s ua l C+ 6 . 02 .4 .2 相 关 技 术2 .4 .2 .1C+ 语言特点C+是 一 种 从 C 语 言 ( 面 向 过 程 ) 的 基 础 上 派 生 出 的 具 有 面 向 对 象 特 性 的 高 级 编 程 语 言 具 体 来 说 C+语 言 是 一 种 优 秀 的 面 向 对 象 程 序 设 计 语 言 ,它 在 C 语 言 的 基 础 上 发 展 而 来 , 但 它 比 C 语 言 更 容 易 为 人 们 学 习 和 掌 握 。 C+以

35、 其 独 特 的 语 言 机 制 在 计 算 机 科 学 的 各 个 领 域 中 得 到 了 广 泛 的 应 用 。面 向 对 象 的 设 计 思 想 是 在5东华理工大学软件学院毕业设计(论文)游戏的相关知识和系统平台的阐述原 来 结 构 化 程 序 设 计 方 法 基 础 上 的 一 个 质 的 飞 跃 , C+完 美 地 体 现 了 面 向 对 象 的 各 种 特 性 。 主 要 应 用 : 单 片 机 、 嵌 入 式 。 游 戏 服 务 器 、 游 戏 通 信 。 串 口 通 信 、 US B 通 信 、 驱 动 开 发 。早 期 的 铁 路 、 银 行 、 证 券 、 内 部 信 息

36、 系 统 等 底 层 方 面 的 开 发 。1 . 面 向 对 象面 向 对 象 是 一 种 对 现 实 世 界 理 解 和 抽 象 的 方 法 ,通 过 面 向 对 象 的 方 式 ,将 现 实 世 界 的 物 抽 象 成 对 象 , 现 实 世 界 中 的 关 系 抽 象 成 类 、 继 承 ,帮 助 人 们 实 现 对 现 实 世 界 的 抽 象 与 数 字 建 模 。通 过 面 向 对 象 的 方 法 ,更 利 于 人 理 解 的 方 式 对 于 复 杂 系 统 的 进 行 分 析 、 设 计 与 编 程 。 同 时 , 面 向 对 象 能 有 效 提 高 编 程 的 效 率 , 通

37、过 封 装 技 术 ,消 息 机 制 可 以 像 搭 积 木 的 一 样 快 速 开 发 出 一 个 全 新 的 系 统 。其 中 主 要 会 涉 及 到 “ 类 、 对 象 、 继 承 、 属 性 、 方 法 、 静 态 、 重 载 、 隐 藏 、 重 构 、 声 明 、 定 义 、初 始 化 、赋 值 等 ,面 向 对 象 语 言 是 以 对 象 为 中 心 以 消 息 为 驱 动 。简 单 表 示 为 : 面 向 过 程 编 程 语 言 : 程 序 =算 法 +数 据 ; 面 向 对 象 编 程 语 言 : 程 序 =对 象 +消 息 。面 向 对 象 的 程 序 设 计 ( Ob j

38、e c t - Or i e nt e d Pr og r a mmi ng , 简 记 为 OOP) 立 意 于 创 建 软 件 重 用 代 码 ,具 备 更 好 地 模 拟 现 实 世 界 环 境 的 能 力 ,这 使 它 被 公 认 为 是 自 上 而 下 编 程 的 优 胜 者 。它 通 过 给 程 序 中 加 入 扩 展 语 句 ,把 函 数 “ 封 装 ” 进 编 程 所 必 需 的 “ 对 象 ” 中 。 对 象 ( Ob j e c t ) 是 问 题 域 或 实 现 域 中 某 些 事 物 的 一 个 抽 象 , 它 反 映 此 事 物 在 系 统 中 需 要 保 存 的 信

39、 息 和 发 挥 的 作 用 ;它 是 一 组 属 性 和 有 权 对 这 些 属 性 进 行 操 作 的 一 组 服 务 的 封 装 体 。 关 于 对 象 要 从 两 方 面 理 解 : 一 方 面 指 系 统 所 要 处 理 的 现 实 世 界 中 的 对 象 ;另 一 方 面 对 象 是 计 算 机 不 直 接 处 理 的 对 象 ,而 是 处 理 相 应 的 计 算 机 表 示 ,这 种 计 算 机 表 示 也 称 为 对 象 。简 单 的 来 说 , 一 个 人 就 是 一 个 对 象 , 一 个 尺 子 也 可 以 说 是 个 对 象 。 当 这 些 对 象 可 以 用 数 据

40、直 接 表 示 时 , 我 们 就 称 他 为 属 性 ,尺 子 的 度 量 单 位 可 以 是 厘 米 ,公 尺 或 英 尺 ,这 个 度 量 单 位 就 是 尺 子 的 属 性 。通 过 面 向 对 象 的 方 式 ,将 现 实 世 界 的 物 抽 象 成 对 象 ,现 实 世 界 中 的 关 系 抽 象 成 类 、继 承 ,帮 助 人 们 实 现 对 现 实 世 界 的 抽 象 与 数 字 建 模 。通 过 面 向 对 象 的 方 法 , 更 利 于 人 理 解 的 方 式 对 于 复 杂 系 统 的 进 行 分 析 、 设 计 与 编 程 。本 质 上 来 说 ,面 向 对 象 和 面

41、 向 过 程 的 核 心 思 想 是 一 样 的 ,区 别 在 于 面 向 过 程 的 重 点 在 功 能 划 分 ,并 耦 合 于 函 数 原 型 ;而 面 向 对 象 的 重 点 是 功 能 +数 据 的 划 分 , 并 耦 合 于 接 口 , 接 口 就 是 对 象 的 原 型 . 要 注 意 的 接 口 是 划 分 的 产 物 。 如 果 连 对 象 都 没 划 分 清 楚 ,就 开 始 设 计 接 口 , 最 后 一 定 会 做 不 少 无 用 功 ,弄 不 好 整 个 软 件 被 糟 糕 的 接 口 绑 架 而 走 上 歧 途 。对 象 的 划 分 比 功 能 划 分 要 困 难

42、许 多 ,因 为 功 能 之 间 的 关 系 可 以 表 示 为 堆 栈 模 型 , 是 树 状 结 构 ( 或 DAG, 递 归 另 算 , 因 为 一 般 不 会 使 用 复 杂 递 归 ), 而 数 据 之 间 的 关 系 则 非 常 复 杂 , 它 有 两 个 方 面 : 空 间 和 值 ( 相 当 于 l v a l u e 和 r v a l u e , 前 者 用 于 引 用 , 后 者 用 于 计 算 ), 数 据 的 空 间 关 系 是 一 般 图 结 构 ,值 关 系 则 是 倒 挂 的 树 状 结 构 ,这 也 是 为 什 么 在 自 动 化 静 态 分 析 中 ,数 据

43、 分 析 比 过 程 分 析 困 难 许 多 。而 数 据 的 两 重 特 性 更 加 重 了 对 象 划 分 的 困 难 。这 在 设 计 模 式 里 面 可 没 提 到 ,因 为 那 本 书 是 先 假 设 你 已 经 划 分 好 了 ,然 后 根 据 划 分 的 关 系 给 你 提 供 了 2 0 多 种 模 式 让 你 选 择 。 如 果 一 上 来 就 先 考 虑 模 式 , 那 你 就 输 了 。 但 是 在 某 些 显 而 易 见 的 局 部 设 计 中 ,快 速 选 择 一 种 正 确 的 模 式 ,是 条 捷 径 ,这 也 是 设 计 模 式 这 本 书 的 目 的 。 正

44、是 因 为 对 象 划 分 的 困 难 , 所 以 才 有 重 构 , 因 为 人 不5东华理工大学软件学院毕业设计(论文)游戏的相关知识和系统平台的阐述可 能 总 是 走 在 正 确 的 路 上 。重 构 实 际 上 是 一 种 把 你 往 正 确 道 路 上 引 导 的 方 法 ,使 得 软 件 在 演 化 的 过 程 中 不 至 于 撞 南 墙 也 不 回 头 。 但 是 实 际 的 效 果 还 是 由 人 决 定 的 , 因 为 最 终 是 人 来 选 择 往 哪 个 方 向 去 重 构 。2 . 高 效 性C 的 程 序 执 行 效 率 高 ,主 要 用 于 底 层 方 面 的 开

45、发 。C+通 过 指 针 能 够 直 接 的 对 内 存 单 元 里 的 数 据 进 行 操 作 ,不 必 通 过 变 量 名 找 到 相 应 的 数 据 地 址 ,再 对 内 存 中 的 数 据 进 行 操 作 ,节 省 了 时 间 开 销 , 从 而 提 高 了 程 序 运 行 的 效 率 比 。除 此 之 外 , C+语 言 还 利 用 了 引 用 、 内 联 函 数 与 友 元 提 高 程 序 运 行 效 率 的 机 制 。 引 用 引 入 了 对 象 的 一 个 同 义 词 。定 义 引 用 的 表 示 方 法 与 定 义 指 针 相 似 ,只 是 用 &代 替 了 * 。

46、引用 ( r e f e r e nc e ) 是 C+对 C 语 言 的 重 要 扩 充 。 内 联 函 数 在 C+类 中 , 应 用 最 广 的 ,应 该 是 用 来 定 义 存 取 函 数 。我 们 定 义 的 类 中 一 般 会 把 数 据 成 员 定 义 成 私 有 的 或 者 保 护 的 ,这 样 , 外 界 就 不 能 直 接 读 写 我 们 类 成 员 的 数 据 了 。对 于 私 有 或 者 保 护 成 员 的 读 写 就 必 须 使 用 成 员 接 口 函 数 来 进 行 。如 果 我 们 把 这 些 读 写 成 员 函 数 定 义 成 内 联 函 数 的 话 ,将 会

47、获 得 比 较 好 的 效 率 。友 元 是 一 种 定 义 在 类 外 部 的 普 通 函 数 ,但 他 需 要 在 类 体 内 进 行 说 明 , 为 了 和 该 类 的 成 员 函 数 加 以 区 别 ,在 说 明 时 前 面 加 以 关 键 字 f r i e nd 。 友 元 不 是 成 员 函 数 , 但 是 他 能 够 访 问 类 中 的 私 有 成 员 。 友 元 的 作 用 在 于 提 高 程 式 的 运 行 效 率 , 但 是 ,他 破 坏 了 类 的 封 装 性 和 隐 藏 性 ,使 得 非 成 员 函 数 能 够 访 问 类 的 私 有 成 员 。3 . 共 享 性C+

48、引 入 了 面 向 对 象 的 设 计 思 想 : 继 承 , 多 态 , 封 装 。 C+语 言 利 用 静 态 数 据 成 员 及 成 员 函 数 节 省 内 存 开 销 共 享 的 机 制 。静 态 成 员 的 提 出 是 为 了 解 决 数 据 共 享 的 问 题 。实 现 共 享 有 许 多 方 法 ,如 :设 置 全 局 性 的 变 量 或 对 象 是 一 种 方 法 。但 是 , 全 局 变 量 或 对 象 是 有 局 限 性 的 。这 一 章 里 ,我 们 主 要 讲 述 类 的 静 态 成 员 来 实 现 数 据 的 共 享 。4 . 重 用 性C+语 言 利 用 继 承 、

49、 模 板 与 多 态 实 现 无 限 制 重 用 已 有 程 序 代 码 的 机 制 。 通 过 继 承 机 制 ,可 以 利 用 已 有 的 数 据 类 型 来 定 义 新 的 数 据 类 型 。所 定 义 的 新 的 数 据 类 型 不 仅 拥 有 新 定 义 的 成 员 ,而 且 还 同 时 拥 有 旧 的 成 员 。我 们 称 已 存 在 的 用 来 派 生 新 类 的 类 为 基 类 , 又 称 为 父 类 。由 已 存 在 的 类 派 生 出 的 新 类 称 为 派 生 类 ,又 称 为 子 类 。C+中 的 多 态 性 具 体 体 现 在 运 行 和 编 译 两 个 方 面 。运

50、 行 时 多 态 是 动 态 多 态 , 其 具 体 引 用 的 对 象 在 运 行 时 才 能 确 定 。编 译 时 多 态 是 静 态 多 态 ,在 编 译 时 就 可 以 确 定 对 象 使 用 的 形 式 。 在 C+中 模 板 是 泛 型 编 程 的 基 础 , 模 板 可 以 实 现 类 型 的 参 数 化 ( 把 类 型 定 义 为 参 数 ) , 从 而 实 现 了 真 正 的 代 码 可 重 用 性 。 C+中 的 模 板 可 分 为 函 数 模 板 和 类 模 板 ,而 把 函 数 模 板 的 具 体 化 称 为 模 板 函 数 ,把 类 模 板 的 具 体 化 成 为 模

51、 板 类 。5 . 支持泛型程序设计6东华理工大学软件学院毕业设计(论文)游戏的相关知识和系统平台的阐述泛 型 编 程 ( Ge ne r i c Pr og r a mmi n g ) 最 初 提 出 时 的 动 机 很 简 单 直 接 : 发 明 一 种 语 言 机 制 ,能 够 帮 助 实 现 一 个 通 用 的 标 准 容 器 库 。所 谓 通 用 的 标 准 容 器 库 ,就 是 要 能 够 做 到 , 比 如 用 一 个 Li s t 类 存 放 所 有 可 能 类 型 的 对 象 这 样 的 事 ; 泛 型 编 程 让 你 编 写 完 全 一 般 化 并 可 重 复 使 用 的

52、算 法 ,其 效 率 与 针 对 某 特 定 的 数 据 类 型 而 设 计 的 算 法 相 同 。泛 型 即 是 指 具 有 在 多 种 数 据 类 型 上 皆 可 操 作 的 含 意 ,与 模 板 有 些 相 似 。 S TL 巨 大 , 而 且 可 以 扩 充 , 它 包 含 很 多 计 算 机 基 本 算 法 和 数 据 结 构 , 而 且 将 算 法 与 数 据 结 构 完 全 分 离 ,其 中 算 法 是 泛 型 的 ,不 与 任 何 特 定 数 据 结 构 或 对 象 类 型 系 在 一 起 。2 .4 .2 .2 MFC 介绍MFC( Mi c r os of t Fo un

53、d a t i on Cl a s s e s ) , 是 一 个 微 软 公 司 提 供 的 类 库 ( c l a s s l i br a r i e s ),以 C+类 的 形 式 封 装 了 Wi nd ows 的 API , 并 且 包 含 一 个 应 用 程 序 框 架 ,以 减 少 应 用 程 序 开 发 人 员 的 工 作 量 。其 中 包 含 的 类 包 含 大 量 Wi nd o ws 句 柄 封装 类 和 很 多 Wi nd o ws 的 内 建 控 件 和 组 件 的 封 装 类 。 MFC 是 Wi n API 与 C+的 结 合 。 API , 即 微 软 提 供

54、 的 Wi nd ows 下 应 用 程 序 的 编 程 语 言 接 口 , 是 一 种 软 件 编 程 的 规 范 , 但 不 是 一 种 程 序 开 发 语 言 本 身 , 可 以 允 许 用 户 使 用 各 种 各 样 的 第 三 方 ( 如 我 是 一 方 , 微 软 是 一 方 , Bor l a nd 就 是 第 三 方 ) 的 编 程 语 言 来 进 行 对 Wi nd ows 下 应 用 程 序 的 开 发 , 使 这 些 被 开 发 出 来 的 应 用 程 序 能 在 Wi nd o ws 下 运 行 , 比 如 VB、 VC+、 J AVA、 De l hpi 。 编 程

55、语 言 函 数 本 质 上 全 部 源 于 API , 因 此 用 它 们 开 发 出 来 的 应 用 程 序 都 能 工 作 在 Wi nd ows 的 消 息 机 制 和 绘 图 里 ,遵 守 Wi nd ows 作 为 一 个 操 作 系 统 的 内 部 实 现 , 这 其 实 也 是 一 种 必 要 。 微 软 如 果 不 提 供 API , 这 个 世 上 对 Wi ndows 编 程 的 工 作 就 不 会 存 在 , 微 软 的 产 品 就 会 迅 速 从 时 尚 变 成 垃 圾 。 上 面 说 到 MFC 是 微 软 对 API 函 数 的 专 用 C+封 装 ,这 种 结 合 一 方 面 让 用 户 使 用 微 软 的 专 业 C+ S DK 来 进 行 Wi nd ows 下 应 用 程 序 的 开 发 变 得 容 易 ,因 为 MFC 是 对 API 的 封 装 , 微 软 做 了 大 量 的 工 作 , 隐

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论