Microsoft PowerPoint - plan08.ppt

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Microsoft PowerPoint - plan08.ppt"

Transcription

1 程 序 设 计 语 言 原 理 Principle of Programming Languages 裘 宗 燕 北 京 大 学 数 学 学 院 ~ 面 向 对 象 为 什 么 需 要 面 向 对 象? OO 语 言 的 发 展 面 向 对 象 的 基 本 概 念 封 装 和 继 承 初 始 化 和 终 结 处 理 动 态 方 法 约 束 多 重 继 承 总 结 2012 年 5 月 2

2 重 用 的 问 题 实 践 中 人 们 认 识 到 重 用 已 有 开 发 结 果 的 重 要 性, 提 出 了 软 件 重 用 的 概 念 最 早 的 重 用 单 元 是 子 程 序, 如 Fortran 的 子 程 序 库 子 程 序 是 纯 粹 的 过 程 抽 象, 基 于 子 程 序 的 重 用 有 很 大 局 限 性 模 块 是 更 合 适 的 重 用 单 元, 因 为 模 块 可 以 包 装 任 何 功 能, 更 灵 活 重 用 中 有 一 种 常 见 情 况 : 软 件 开 发 中 遇 到 的 新 问 题 常 与 解 决 过 的 问 题 ( 可 以 重 用 的 库 提 供 的 功 能 ) 类 似, 但 又 不 完 全 相 同 已 有 模 块 的 功 能 与 需 要 有 差 异, 无 法 以 其 现 有 形 式 直 接 使 用 如 果 模 块 功 能 的 改 变 只 能 通 过 修 改 源 代 码 的 方 式 进 行, 程 序 员 就 只 能 拷 贝 这 个 模 块 的 源 代 码, 深 入 研 究 后 再 设 法 修 改, 以 满 足 新 需 求 但 问 题 是 有 没 有 可 以 使 用 的 源 代 码? 常 常 没 有 : 模 块 可 能 是 购 入 的, 提 供 商 不 提 供 源 代 码 模 块 可 能 是 过 去 的 遗 产, 源 代 码 已 经 丢 失 或 部 分 缺 失 2012 年 5 月 3 重 用 和 软 件 开 发 即 使 有 源 代 码, 基 于 修 改 代 码 的 方 式 重 用, 也 有 很 多 问 题 : 修 改 代 码 的 代 价 可 能 很 大 ( 需 要 理 解 开 发 者 的 想 法 设 计 和 大 量 细 节 ) 修 改 代 码 很 容 易 引 进 错 误 经 过 修 改 的 代 码, 其 可 读 性 易 理 解 性 和 易 维 护 性 都 会 恶 化, 多 次 修 改 导 致 这 些 性 质 不 断 恶 化, 可 能 给 整 个 系 统 的 质 量 带 来 严 重 危 害 修 改 后 的 模 块, 继 续 重 用 的 可 能 性 更 小 总 之, 基 于 修 改 代 码 的 重 用, 重 用 的 价 值 大 大 降 低 了 在 软 件 开 发 过 程, 重 用 也 是 非 常 有 价 值 的 在 同 一 软 件 中 重 复 使 用 某 些 部 分, 可 使 重 要 设 计 决 策 得 到 集 中 处 理 提 高 重 用 比 率 可 能 减 少 重 复 开 发 工 作 量 对 重 要 基 础 功 能 的 深 度 优 化 可 能 非 常 耗 工 耗 时, 重 用 已 有 的 经 过 精 心 调 整 的 代 码, 可 能 大 大 提 高 系 统 的 性 能 2012 年 5 月 4

3 模 块 和 程 序 组 织 常 规 的 程 序 单 元 缺 乏 弹 性, 定 义 好 的 子 程 序 / 模 块 都 是 固 定 功 能 的 实 体, 难 以 提 供 定 制 的 方 式 部 分 地 改 变 功 能 以 满 足 实 际 需 要 的 变 化 通 过 模 块 定 义 的 抽 象 数 据 类 型 是 相 互 独 立 的, 不 同 模 块 之 间 无 任 何 关 系 而 实 际 情 况 中, 常 常 需 要 定 义 和 使 用 一 些 相 互 有 关 的 类 型, 可 能 需 要 把 它 们 送 给 同 一 个 函 数 / 过 程 去 处 理, 以 同 样 方 式 存 储 变 体 和 联 合 机 制 就 是 为 了 迎 合 这 方 面 的 需 要, 但 它 们 没 有 类 型 安 全 性, 且 未 能 提 供 解 决 类 似 问 题 的 统 一 框 架, 难 用 于 应 付 更 复 杂 的 情 况 支 持 相 关 类 型, 可 能 给 程 序 的 结 构 组 织 带 来 新 的 可 能 性 如 何 在 抽 象 数 据 类 型 的 框 架 中 提 供 这 一 类 功 能, 也 是 需 要 解 决 的 问 题 面 向 对 象 的 概 念 在 这 些 方 面 都 能 发 挥 很 大 的 作 用 面 向 对 象 (Object-Oriented) 的 方 法 和 程 序 技 术, 为 基 于 模 块 ( 一 个 类 也 可 以 看 作 一 个 模 块 ) 的 重 用 问 题 提 供 了 一 条 解 决 途 径 2012 年 5 月 5 面 向 对 象 和 重 用 面 向 对 象 技 术 的 最 重 要 能 力, 在 于 使 程 序 员 比 较 容 易 以 一 种 外 部 附 加 的 方 式, 在 已 有 数 据 抽 象 的 基 础 上 定 义 新 的 数 据 抽 象 OO 也 支 持 定 义 有 弹 性 的 操 作 框 架, 使 新 的 数 据 抽 象 可 以 使 用 这 些 框 架, 并 把 针 对 该 类 抽 象 的 实 例 的 具 体 操 作 插 入 框 架 中 ( 重 用 和 调 整 ) 新 定 义 的 抽 象 可 以 继 承 原 有 抽 象 的 行 为, 也 可 以 根 据 需 要 调 整 改 变 已 有 功 能 的 行 为, 或 者 添 加 新 抽 象 所 需 要 的 新 行 为 这 样 大 大 提 高 了 代 码 重 用 的 可 能 性 ( 目 标 是 实 现 真 正 不 加 修 改 的 重 用 当 然, 实 际 的 重 用 可 能 性 还 与 具 体 数 据 抽 象 的 设 计 有 关 ) 面 向 对 象 还 有 另 外 的 许 多 重 要 价 值 ( 有 些 可 能 同 样 重 要 或 更 重 要 ), 并 由 此 发 展 出 面 向 对 象 的 系 统 分 析, 面 向 对 象 的 设 计 等 面 向 对 象 思 想 对 于 软 件 领 域 的 影 响 是 全 面 的, 是 结 构 化 思 想 ( 结 构 化 程 序 设 计, 结 构 化 分 析, 结 构 化 设 计 等 ) 之 后 软 件 开 发 领 域 中 的 又 一 次 革 命 注 意 : 面 向 对 象 并 没 有 取 代 结 构 化, 应 该 看 作 是 在 另 一 层 次 上 的 抽 象 2012 年 5 月 6

4 OO 发 展 史 OO 技 术 和 思 想 中 的 一 个 基 本 方 面 是 数 据 和 操 作 的 封 装 这 方 面 的 基 本 想 法 : 一 组 数 据 与 关 联 之 上 相 关 的 操 作 形 成 一 个 对 象 其 内 部 数 据 构 成 对 象 的 状 态, 操 作 确 定 对 象 与 外 界 交 互 的 方 式 OO 并 不 是 从 模 块 化 程 序 设 计 发 展 出 来 的, 它 有 自 己 的 发 展 历 程 OO 的 思 想 与 模 块 化 的 思 想 是 并 行 发 展, 一 直 相 互 影 响 相 互 借 鉴 Simula 67 是 OO 概 念 的 鼻 祖, 其 设 计 目 标 是 扩 充 Algol 60, 以 更 好 地 支 持 计 算 机 在 模 拟 方 面 的 应 用 1960 年 代 在 挪 威 计 算 中 心 设 计 和 实 现, 主 持 其 工 作 的 Ole-Johan Dahl 和 Kristen Nygaard 获 得 2001 年 图 灵 奖 OO 的 三 个 基 本 要 素 : 封 装 继 承 和 动 态 方 法 约 束 都 源 于 Simula 类 的 概 念 源 自 Simula, 其 设 计 中 提 出 用 类 定 义 把 一 组 操 作 与 一 组 数 据 包 装 起 来 Simula 的 这 些 重 要 想 法 是 模 块 概 念 和 OO 的 起 源 Simula 只 提 供 了 基 本 封 装, 并 没 有 对 封 装 的 保 护, 也 没 有 信 息 隐 藏 2012 年 5 月 7 OO 发 展 史 软 件 实 践 也 需 要 OO 的 思 想, 并 逐 渐 开 发 了 相 关 的 支 撑 技 术, 包 括 : 封 装 的 思 想 在 面 向 模 块 的 语 言 里 发 展, 提 出 了 许 多 重 要 概 念 和 想 法, 如 作 用 域 规 则, 开 的 或 者 闭 的 作 用 域 界 面 与 实 现 透 明 类 型 与 隐 晦 类 型, 访 问 控 制, 等 等 数 据 驱 动 的 程 序 设 计 技 术 : 将 计 算 功 能 ( 子 程 序 ) 约 束 于 程 序 里 处 理 的 数 据 ( 结 构 ), 使 我 们 在 程 序 里 可 以 从 数 据 对 象 出 发 去 启 动 相 应 的 计 算 过 程 在 一 些 非 常 规 的 语 言 ( 如 函 数 式 语 言 ) 里, 可 以 通 过 引 用 的 概 念 提 供 函 数 / 过 程 与 数 据 之 间 的 约 束 常 规 语 言 ( 如 C) 引 进 了 指 向 函 数 的 指 针, 在 实 现 数 据 驱 动 程 序 设 计 的 过 程 中 起 到 了 重 要 作 用, 也 成 为 面 向 对 象 语 言 实 现 的 技 术 基 础 2012 年 5 月 8

5 OO 发 展 史 继 承 和 动 态 约 束 等 被 Smalltalk 发 展, 形 成 目 前 OO 的 基 本 概 念 框 架 程 序 里 以 类 的 方 式 定 义 各 种 数 据 抽 象 类 可 以 通 过 继 承 的 方 式 扩 充 新 功 能, 这 样 定 义 的 新 类 ( 子 类, 派 生 类 ) 自 动 继 承 已 有 类 ( 基 类, 超 类, 父 类 ) 的 功 能 对 象 是 类 的 实 例, 是 程 序 运 行 时 的 基 本 数 据 单 元 派 生 类 的 对 象 也 看 作 是 原 有 基 类 的 对 象, 可 以 当 作 基 类 的 对 象 使 用 ( 子 类 就 是 子 类 型,Liskov 代 换 原 理,2008 年 图 灵 奖 ) 类 定 义 了 对 象 的 状 态 成 分 ( 数 据 成 员 ) 和 一 组 相 关 操 作 ( 称 为 方 法 ) 方 法 调 用 总 是 针 对 某 个 对 象 进 行 的, 将 方 法 调 用 看 作 是 给 相 应 对 象 送 一 个 消 息, 对 象 通 过 执 行 相 应 操 作 的 方 式 对 消 息 做 出 响 应 对 一 个 消 息 执 行 什 么 方 法, 由 接 收 消 息 的 对 象 的 类 型 确 定 ( 根 据 该 对 象 所 属 的 类 确 定, 这 就 是 动 态 约 束 ) 计 算, 就 是 一 组 对 象 相 互 通 讯 的 整 体 效 果 ( 对 计 算 的 另 一 种 看 法 ) 2012 年 5 月 9 OO 发 展 史 Smalltalk 还 有 一 些 独 特 的 东 西 : 变 量 采 用 引 用 模 型, 变 量 无 类 型, 可 以 引 用 任 何 对 象 语 言 里 的 一 切 都 是 对 象 : 类 也 是 对 象, 通 过 给 类 送 new 消 息 的 方 式 要 求 创 建 类 的 实 例 各 种 控 制 结 构 也 是 通 过 消 息 概 念 建 立 的 o 条 件 和 逻 辑 循 环 是 逻 辑 对 象 对 特 定 消 息 的 响 应 o 枚 举 循 环 是 整 数 对 象 对 特 定 消 息 的 响 应 采 用 单 根 的 类 层 次 结 构, 以 类 Object 作 为 所 有 类 的 超 类 提 供 了 块 (block) 的 概 念, 作 为 控 制 结 构 的 抽 象 机 制 提 出 了 容 器 的 概 念, 开 发 了 一 个 功 能 丰 富 的 类 库 与 程 序 开 发 环 境 的 紧 密 结 合, 并 开 发 了 GUI 的 基 本 概 念 和 相 关 技 术 Smalltalk 经 过 发 展 到 Smalltalk 80, 其 概 念 和 结 构 已 臻 成 熟 2012 年 5 月 10

6 OO 发 展 史 随 着 Smalltalk 的 成 功, 人 们 看 到 了 OO 的 潜 在 威 力 许 多 人 开 始 研 究 如 何 把 OO 概 念 有 效 集 成 到 常 规 语 言 里, 提 出 了 一 批 已 有 语 言 的 OO 扩 充 和 许 多 新 OO 语 言, 如 Object-Pascal Object-C 等 其 中 前 期 最 成 功 并 得 到 广 泛 应 用 的 是 C++ C++ 在 OO 概 念 的 广 泛 接 受 和 应 用 方 面 功 不 可 没 ( 具 体 理 由 见 后 面 讨 论 ) 原 因 : 在 面 向 对 象 和 高 效 程 序 之 间 取 得 较 好 的 平 衡 OO 概 念 与 常 规 语 言 的 合 理 集 成 ( 在 当 时 ), 支 持 数 据 抽 象 和 面 向 对 象 的 系 统 设 计 和 程 序 设 计, 支 持 多 泛 型 程 序 设 计 的 结 合, 使 与 数 据 抽 象 和 OO 有 关 的 许 多 新 概 念 和 新 技 术 逐 渐 被 实 际 软 件 工 作 者 接 受 随 后 是 OO 分 析 OO 设 计 和 基 于 OO 的 软 件 开 发 等 等 后 来 的 其 他 成 功 语 言 包 括 Java, 微 软 提 出 C#, 等 等 出 现 了 一 些 基 于 对 象 的 脚 本 语 言, 如 Python,Ruby 等 现 在, 面 向 对 象 的 开 发 已 经 成 为 一 种 主 流 的 软 件 开 发 技 术 2012 年 5 月 11 面 向 对 象 的 基 本 概 念 面 向 对 象 的 基 本 概 念 : 在 面 向 对 象 语 言 里 定 义 数 据 抽 象 的 基 本 定 义 机 制 是 类, 在 一 个 类 里 可 以 定 义 数 据 成 员 和 子 程 序 成 员 ( 称 为 方 法 ) 封 装 是 数 据 抽 象 和 模 块 化 的 概 念, 与 面 向 对 象 的 概 念 并 没 有 必 然 关 系, 但 封 装 有 助 于 更 好 发 挥 面 向 对 象 机 制 的 作 用 ( 实 在 的 ) 类 被 看 作 类 型, 可 以 用 于 生 成 ( 定 义 ) 实 例, 称 为 对 象 已 有 的 类 可 以 作 为 定 义 新 类 的 基 础 ( 基 类 超 类 ) 可 通 过 继 承 方 式 定 义 新 类 ( 子 类, 派 生 类 ), 子 类 继 承 基 类 的 行 为 子 类 可 以 修 改 基 类 已 经 定 义 的 行 为, 或 者 增 加 所 需 的 新 行 为 把 子 类 看 作 是 子 类 型 ( 通 常 ), 如 果 D 是 B 的 子 类, 那 么 : 若 o 是 D 类 型 的 对 象, 那 么 o 也 看 作 是 B 类 型 的 对 象 若 变 量 x 可 以 引 用 B 类 的 对 象, 那 么 它 也 可 以 引 用 D 类 的 对 象 2012 年 5 月 12

7 面 向 对 象 的 基 本 概 念 继 承 有 两 方 面 作 用 1. 建 立 类 型 之 间 的 层 次 关 系 2. 重 用 基 类 的 行 为 ( 代 码 和 数 据 描 述 ) 对 于 面 向 对 象 的 行 为 而 言, 前 一 方 面 的 功 能 更 为 重 要 类 中 的 子 程 序 成 员 称 为 方 法, 方 法 需 要 通 过 具 体 的 对 象 调 用 在 运 行 中 调 用 方 法 时, 实 际 调 用 的 方 法 由 作 为 调 用 出 发 点 的 那 个 对 象 的 类 型 确 定 的 ( 动 态 约 束 ) 动 态 约 束 是 实 现 面 向 对 象 行 为 的 关 键 它 为 面 向 对 象 的 机 制 提 供 了 模 块 机 制 所 不 具 有 的 弹 性, 使 新 的 功 能 扩 充 可 以 比 较 自 然 地 结 合 到 已 有 的 操 作 过 程 里 理 解 动 态 约 束 是 理 解 面 向 对 象 的 关 键, 动 态 约 束 的 高 效 实 现 也 是 面 向 对 象 语 言 的 实 现 的 关 键 2012 年 5 月 13 面 向 对 象 的 语 言 虽 然 基 本 框 架 类 似, 不 同 面 向 对 象 语 言 之 间 也 存 在 很 大 差 异 : 基 本 问 题 : 采 用 什 么 样 的 对 象 模 型 采 用 单 根 的 类 层 次 结 构, 还 是 任 意 的 类 层 次 结 构? 提 供 那 些 继 承 方 式? 例 如 C++ 里 提 供 了 三 种 继 承 方 式 允 许 多 重 继 承? 还 是 只 允 许 单 继 承? 是 否 提 供 丰 富 完 善 的 访 问 控 制 机 制? 采 用 基 于 继 承 的 模 型, 还 是 基 于 指 派 的 模 型 基 于 类 的 模 型, 还 是 基 于 对 象 或 原 型 的 模 型 ( 如 JavaScript) 对 象 本 身 的 独 立 性 ( 是 否 允 许 不 属 于 任 何 一 个 类 的 对 象 ) 类 本 身 是 不 是 对 象? 2012 年 5 月 14

8 面 向 对 象 的 语 言 其 他 情 况 : 是 不 是 追 求 纯 粹 的 面 向 对 象 语 言? Smalltalk 尽 可 能 追 求 面 向 对 象 理 想, 完 全 是 重 新 设 计 的 新 语 言 Java 是 接 近 理 想 的 语 言, 但 希 望 在 形 式 上 尽 可 能 靠 近 常 规 语 言 C++ 设 法 在 支 持 系 统 程 序 设 计 的 过 程 性 语 言 C 上 扩 充 支 持 面 向 对 象 的 机 制, 是 一 种 多 范 型 语 言, 支 持 多 种 程 序 设 计 方 式 另 外 的 一 些 语 言 ( 如 Ada) 采 用 可 能 很 不 同 的 方 式 支 持 面 向 对 象 的 程 序 设 计, 这 里 不 准 备 详 细 介 绍 采 用 值 模 型 还 是 引 用 模 型 从 本 质 上 说, 只 有 采 用 引 用 模 型 才 能 支 持 方 法 的 动 态 约 束, 因 此 大 多 数 面 向 对 象 语 言 采 用 引 用 模 型 C++ 采 用 值 模 型, 可 以 创 建 静 态 对 象 或 栈 对 象, 但 只 有 通 过 对 象 引 用 或 指 向 对 象 的 指 针 才 能 实 现 面 向 对 象 的 动 态 约 束 行 为 Java 只 能 把 OO 功 能 应 用 于 用 户 定 义 类 型, 基 本 类 型 采 用 值 模 型 2012 年 5 月 15 面 向 对 象 的 语 言 是 否 允 许 静 态 对 象 或 者 堆 栈 对 象 ( 自 动 对 象 )? 多 数 面 向 对 象 语 言 只 支 持 堆 对 象 ( 通 过 动 态 存 储 分 配 创 建 的 对 象 ) C++ 支 持 静 态 对 象 和 自 动 对 象, 这 种 设 计 是 希 望 尽 可 能 借 助 于 作 用 域 规 则 来 管 理 对 象, 避 免 依 赖 自 动 存 储 管 理 系 统 (GC) 为 在 这 种 环 境 下 编 程, 人 们 开 发 了 许 多 利 用 自 动 对 象 的 对 象 管 理 技 术, 如 句 柄 对 象, 对 象 的 创 建 即 初 始 化 技 术 等 是 否 依 赖 自 动 废 料 收 集 (GC) 由 于 OO 程 序 常 ( 显 式 或 隐 式 地 ) 创 建 和 丢 弃 对 象, 对 象 之 间 常 存 在 复 杂 的 相 互 引 用 关 系, 由 人 来 完 成 对 象 的 管 理 和 回 收 很 困 难 大 多 数 OO 语 言 都 依 赖 于 自 动 存 储 回 收 系 统 GC 的 引 入 将 带 来 显 著 的 性 能 损 失, 还 会 造 成 程 序 行 为 更 多 的 不 可 预 见 性 (GC 发 生 的 时 刻 无 法 预 见, 其 持 续 时 间 长 短 也 无 法 预 计 ) Java 等 许 多 语 言 都 需 要 内 置 的 自 动 废 料 收 集 系 统 C++ 是 例 外, 其 设 计 目 标 之 一 是 尽 可 能 避 免 对 自 动 存 储 回 收 的 依 赖, 以 支 持 系 统 程 序 设 计, 提 高 效 率, 减 少 运 行 时 间 上 的 不 确 定 性 2012 年 5 月 16

9 面 向 对 象 的 语 言 是 否 所 有 方 法 都 采 用 动 态 约 束? 动 态 约 束 很 重 要, 但 调 用 时 会 带 来 一 些 额 外 的 开 销, 如 果 需 要 调 用 的 方 法 能 够 静 态 确 定, 采 用 静 态 约 束 有 速 度 优 势 大 部 分 语 言 里 的 所 有 方 法 都 采 用 动 态 约 束 C++ 和 Ada 提 供 静 态 约 束 ( 默 认 ) 和 动 态 约 束 两 种 方 式 一 些 脚 本 语 言 也 支 持 面 向 对 象 的 概 念 例 如, Ruby 是 一 个 纯 面 向 对 象 的 脚 本 语 言, 其 中 的 一 切 都 是 对 象, 全 局 环 境 看 作 一 个 匿 名 的 大 对 象, 全 局 环 境 里 的 函 数 看 作 这 个 对 象 的 成 员 函 数 它 还 有 另 外 一 些 独 特 性 质 JavaScript 支 持 一 种 基 于 对 象 和 原 型 的 面 向 对 象 模 型 其 中 没 有 类 的 概 念, 只 有 对 象 对 象 的 行 为 继 承 通 过 原 型 获 得 2012 年 5 月 17 面 向 对 象 的 语 言 人 们 还 提 出 了 许 多 与 面 向 对 象 机 制 有 关 的 新 想 法 和 模 型 许 多 新 近 的 脚 本 语 言 提 供 了 独 特 的 面 向 对 象 机 制 : 例 如 基 于 对 象 原 型 ( 而 不 是 类 ) 的 OO 模 型 在 基 于 类 的 模 型 中 允 许 基 于 对 象 的 行 为 覆 盖 ( 可 修 改 个 别 对 象 的 行 为 ) 等 等 总 而 言 之, 虽 然 今 天 面 向 对 象 的 模 型 和 语 言 已 成 为 主 流 程 序 设 计 方 法 和 主 流 程 序 语 言, 但 是 这 类 语 言 还 远 未 成 熟, 还 正 在 发 展 和 研 究 中 许 多 语 言 的 OO 机 制 非 常 复 杂, 实 际 还 不 断 提 出 一 些 新 要 求, 使 一 些 OO 语 言 在 发 展 中 变 得 越 来 越 复 杂 如 何 提 供 一 集 足 够 强 大, 而 且 又 简 洁 清 晰 的 机 制 支 持 OO 的 概 念 和 程 序 设 计, 还 是 这 个 领 域 中 需 要 继 续 研 究 的 问 题 OO 语 言 有 关 的 理 论 研 究 还 处 在 起 步 阶 段, 也 是 本 领 域 不 成 熟 的 标 志 2012 年 5 月 18

10 OO 语 言 需 要 提 供 的 新 机 制 定 义 类 的 语 言 机 制 ( 语 言 提 供 特 殊 的 描 述 结 构 ) 描 述 或 定 义 对 象 的 机 制 继 承 机 制, 描 述 类 之 间 的 继 承 关 系 可 能 定 义 继 承 关 系 的 性 质 ( 如 C++ 里 的 类 继 承 有 public protected 和 private 三 种 方 式 ) 与 对 象 交 互 的 机 制 ( 方 法 调 用, 消 息 传 递 ) 初 始 化 新 对 象 的 机 制 ( 最 好 能 自 动 进 行, 避 免 未 初 始 化 就 使 用 的 错 误 ) 类 类 型 对 象 的 动 态 转 换 机 制 ( 转 换 对 一 个 具 体 对 象 的 观 点 ) 控 制 类 成 员 的 访 问 权 限 的 机 制 对 象 销 毁 前 的 临 终 处 理 机 制 ( 最 好 能 自 动 进 行 ) 对 象 的 存 储 管 理 机 制 可 能 还 有 其 他 机 制 : 运 行 中 判 断 对 象 的 类 属 关 系 的 机 制 自 反 等 等 2012 年 5 月 19 OO 程 序 先 看 一 点 OO 程 序, 复 习 一 下 基 本 OO 程 序 的 特 征 这 里 看 一 段 定 义 了 几 个 类 的 C++ 代 码 定 义 list_node 类, 用 于 实 现 带 头 结 点 的 双 向 循 环 链 接 表 每 个 结 点 里 有 一 个 域 指 向 表 头 结 点 2012 年 5 月 20

11 OO 程 序 2012 年 5 月 21 OO 程 序 定 义 list 类 注 意 :header 是 个 list_node 定 义 的 是 有 头 结 点 的 循 环 链 表 2012 年 5 月 22

12 OO 程 序 通 过 继 承 定 义 queue 类 ( 只 是 作 为 示 例 ) 2012 年 5 月 23 OO 程 序 通 用 的 表 结 点 类 还 可 以 定 义 通 用 的 容 器 类 : 基 本 容 器 类 没 有 具 体 数 据 域, 不 保 存 具 体 类 型 的 元 素, 只 实 现 容 器 操 作, 如 : 一 些 基 本 判 断 谓 词, 插 入 删 除 等 等 通 过 继 承 实 现 存 储 具 体 类 型 的 元 素 的 具 体 容 器 派 生 的 int 表 结 点 类 使 用 这 种 int 表 的 问 题 : 如 果 需 要 访 问 结 点 的 数 据 内 容, 必 须 对 取 出 的 结 点 做 强 制 2012 年 5 月 24

13 面 向 对 象 概 念 的 实 现 实 现 面 向 对 象 的 语 言, 需 要 考 虑 它 的 几 个 标 志 性 特 征 的 实 现 封 装 是 一 种 静 态 机 制, 如 C++/Java 一 类 语 言 的 各 种 访 问 控 制 机 制 也 是 静 态 的, 都 可 以 通 过 在 符 号 表 里 记 录 信 息, 在 编 译 中 检 查 和 处 理 方 法 的 实 现 与 以 模 块 为 类 型 时 局 部 子 程 序 的 实 现 一 样 由 于 每 个 方 法 调 用 有 一 个 调 用 对 象, 因 此 方 法 需 要 一 个 隐 含 指 针, 被 调 用 时 指 向 调 用 对 象, 所 有 对 该 对 象 的 数 据 成 员 的 访 问 都 通 过 这 个 指 针 和 静 态 确 定 的 偏 移 量 进 行 许 多 语 言 以 这 一 指 针 作 为 一 个 伪 变 量, 称 为 this 或 者 self, 通 过 这 种 指 针 访 问 调 用 对 象, 方 式 上 与 通 过 指 针 访 问 普 通 结 构 一 样 实 现 面 向 对 象 语 言 的 关 键 是 两 个 问 题 : 继 承 的 实 现, 使 派 生 类 型 的 对 象 能 当 作 基 类 的 对 象 使 用 动 态 约 束 的 实 现, 能 够 从 ( 作 为 变 量 的 值 或 者 被 变 量 引 用 的 ) 对 象 出 发, 找 到 这 个 对 象 所 属 的 类 里 定 义 的 方 法 下 面 讨 论 实 现 的 一 些 具 体 问 题 2012 年 5 月 25 封 装 封 装 是 一 种 静 态 机 制, 仅 仅 在 程 序 加 工 阶 段 起 作 用, 有 关 情 况 与 模 块 机 制 类 似, 在 加 工 后 的 程 序 里 ( 可 执 行 程 序 里 ) 完 全 没 有 关 于 封 装 的 信 息 不 同 语 言 里 对 类 的 访 问 控 制 可 能 不 同 : 作 为 开 模 块 ( 允 许 以 特 定 方 式 任 意 访 问 类 成 员 ) 作 为 闭 模 块 ( 凡 是 没 有 明 确 声 明 可 访 问 的 都 不 可 访 问 ) 对 基 本 封 装 机 制 的 扩 充 是 引 进 进 一 步 的 控 制 C++ 引 进 成 员 的 public protected 和 private 属 性, 提 供 细 致 的 访 问 控 制 C++ 还 允 许 定 义 派 生 类 的 不 同 继 承 方 式, 控 制 对 基 类 成 员 的 访 问 : public 继 承 protected 继 承, 使 基 类 的 public 成 员 变 成 派 生 类 的 protected 成 员 private 继 承, 使 基 类 的 所 有 成 员 变 成 派 生 类 的 private 成 员 一 些 新 语 言 借 鉴 了 C++ 的 这 方 面 思 想, 可 能 结 合 另 外 一 些 想 法 2012 年 5 月 26

14 静 态 域 和 静 态 方 法 许 多 面 向 对 象 语 言 的 类 里 可 以 定 义 静 态 域 和 静 态 方 法 C++/Java 允 许 类 里 定 义 静 态 数 据 域 Smalltalk 把 普 通 的 对 象 域 称 为 实 例 变 量, 表 示 在 这 个 类 的 每 个 实 例 里 都 有 这 些 成 分 的 一 份 拷 贝 ; 把 静 态 数 据 域 称 为 类 变 量 类 的 静 态 数 据 域 并 不 出 现 在 实 例 对 象 里, 它 们 是 类 封 装 的 静 态 数 据 成 分, 提 出 具 有 静 态 生 存 期, 在 类 的 作 用 域 里 可 直 接 访 问 类 外 能 否 访 问 由 语 言 确 定 ( 提 出 有 与 其 他 成 员 一 样 的 访 问 控 制 ) 静 态 方 法 和 静 态 域 的 一 些 情 况 : 类 的 静 态 数 据 成 员 可 以 在 静 态 区 实 现, 在 程 序 运 行 之 前 静 态 分 配, 在 程 序 的 整 个 执 行 期 间 保 持 其 存 储 类 的 静 态 方 法 可 访 问 静 态 数 据 成 员, 其 他 方 法 也 可 以 访 问 静 态 数 据 成 员 可 以 把 静 态 数 据 成 员 看 作 本 类 的 所 有 对 象 共 享 的 信 息 类 对 象 可 以 通 过 静 态 数 据 成 员 交 换 或 者 共 享 信 息 2012 年 5 月 27 静 态 域 和 静 态 方 法 静 态 成 员 是 静 态 创 建 的, 其 初 始 化 在 程 序 开 始 执 行 前 完 成 ( 或 者 在 语 言 定 义 的 适 当 时 刻 完 成 ), 只 做 一 次 静 态 成 员 的 初 始 化 中 不 能 调 用 类 的 普 通 方 法 ( 因 为 没 有 对 象 ) 静 态 方 法 相 当 于 普 通 子 程 序, 只 是 具 有 类 封 装 ( 类 作 用 域 ) 特 点 : 没 有 调 用 对 象 不 能 引 用 this/self, 不 能 引 用 类 定 义 的 普 通 数 据 成 员 ( 如 Smalltalk 里 不 能 引 用 实 例 变 量 ), 只 能 引 用 本 类 的 静 态 数 据 成 员 通 常 采 用 某 种 基 于 定 义 类 的 语 法 形 式 调 用 仅 有 静 态 数 据 成 员 和 静 态 方 法 的 类, 相 当 于 一 个 简 单 模 块 提 供 模 块 的 内 部 状 态, 可 以 通 过 所 提 供 的 方 法 修 改 状 态 不 能 生 成 有 用 的 实 例 ( 生 成 的 是 空 实 例, 没 有 局 部 的 实 例 状 态 ) 静 态 数 据 成 员 的 静 态 方 法 的 封 装, 可 能 定 义 内 部 数 据 和 操 作 2012 年 5 月 28

15 对 象 和 继 承 : 数 据 布 局 继 承 关 系 的 数 据 部 分 通 过 对 象 的 适 当 存 储 布 局 实 现 对 象 的 实 际 表 现 就 是 数 据 成 员 的 存 储 假 定 B 是 一 个 类, 有 自 己 的 数 据 成 员 B 类 的 对 象 B 类 的 数 据 成 员 D 是 B 的 派 生 类, 增 加 了 数 据 成 员 D 类 对 象 的 前 部 仍 是 B 类 的 所 有 成 员, 扩 充 的 成 员 排 在 后 面 在 D 类 对 象 里, 所 有 B 类 成 员 相 对 于 对 象 开 始 位 置 的 偏 移 量 与 它 们 在 一 个 B 类 对 象 里 的 偏 移 量 相 同 这 样,D 类 对 象 就 可 以 作 为 B 类 对 象 使 用,B 类 里 的 方 法 能 正 确 操 作, 它 们 只 看 属 于 B 对 象 的 那 部 分 D 类 里 的 方 法 既 可 以 使 用 对 象 中 的 B 类 数 据 成 员, 也 可 以 使 用 对 象 里 的 D 类 数 据 成 员 用 D 类 对 象 给 B 类 对 象 赋 值 ( 值 copy, 或 者 值 语 义 时 ) 会 产 生 切 割 现 象,D 类 数 据 成 员 不 能 拷 贝 D 类 的 对 象 B 类 的 数 据 成 员 D 类 新 增 的 数 据 成 员 2012 年 5 月 29 初 始 化 和 终 结 处 理 对 象 可 能 具 有 任 意 复 杂 的 内 部 结 构 要 求 创 建 对 象 的 程 序 段 做 对 象 初 始 化, 需 反 复 描 述, 很 麻 烦, 易 弄 错 对 象 可 能 要 求 特 殊 的 初 始 化 方 式 和 顺 序, 对 象 的 使 用 者 难 以 贯 彻 始 终 继 承 使 对 象 的 初 始 化 更 复 杂 化, 因 为 需 要 正 确 初 始 化 继 承 来 的 数 据 成 员 为 更 容 易 处 理 对 象 初 始 化 的 问 题,OO 语 言 通 常 都 提 供 了 专 门 的 机 制, 在 对 象 创 建 时 自 动 调 用 初 始 化 操 作 保 证 新 创 建 对 象 具 有 合 法 的 状 态 自 动 调 用 非 常 有 意 义, 可 以 避 免 未 正 确 初 始 化 造 成 的 程 序 错 误 现 在 常 把 对 象 初 始 化 看 作 调 用 一 个 称 为 构 造 函 数 (constructor) 的 初 始 化 子 程 序, 它 ( 们 ) 在 对 象 的 存 储 块 里 构 造 出 所 需 要 的 对 象 语 言 通 常 支 持 参 数 化 的 初 始 化 操 作, 以 满 足 不 同 对 象 的 需 要 对 象 创 建 可 能 有 多 种 需 要, 为 此 C++/Java 等 都 支 持 一 个 类 有 多 个 不 同 的 构 造 函 数 2012 年 5 月 30

16 初 始 化 和 终 结 处 理 如 果 变 量 采 用 引 用 语 义, 所 有 ( 值 ) 对 象 都 需 要 显 式 创 建, 有 明 确 的 创 建 动 作 这 样 很 容 易 保 证 在 存 储 分 配 之 后 调 用 构 造 函 数 如 果 变 量 是 值, 为 保 证 初 始 化, 语 言 需 要 对 变 量 创 建 提 供 特 殊 语 义, 要 求 变 量 创 建 包 含 隐 式 的 构 造 函 数 调 用 对 象 初 始 化 必 须 按 一 定 的 顺 序 进 行 对 象 内 部 的 基 类 部 分 必 须 在 派 生 类 部 分 之 前 完 成 初 始 化, 因 为 派 生 类 新 增 的 数 据 成 员 完 全 可 能 依 赖 于 基 类 成 员 的 值 数 据 成 员 本 身 也 可 能 是 某 个 类 的 对 象, 在 执 行 整 体 对 象 的 构 造 函 数 的 过 程 中, 就 需 要 执 行 这 些 对 象 成 员 的 构 造 函 数 这 种 构 造 规 则 是 递 归 的, 语 言 必 须 严 格 定 义 对 象 的 构 造 顺 序 如 果 变 量 采 用 值 语 义 ( 例 如 C++), 在 进 入 一 个 作 用 域 的 过 程 中, 就 可 能 出 现 许 多 构 造 函 数 调 用 进 入 作 用 域 可 能 是 代 价 很 大 的 动 作 2012 年 5 月 31 初 始 化 和 终 结 处 理 在 对 象 销 毁 之 前, 可 能 需 要 做 一 些 最 后 动 作 ( 终 结 处 理 ), 例 如 释 放 对 象 所 占 用 的 各 种 资 源, 维 护 有 关 状 态 等 忘 记 终 结 处 理, 就 可 能 导 致 资 源 流 失, 或 者 状 态 破 坏 有 些 OO 语 言 提 供 终 结 动 作 定 义 机 制, 销 毁 对 象 前 自 动 执 行 所 定 义 动 作 C++ 采 用 值 语 义, 终 结 动 作 以 类 的 析 构 函 数 的 形 式 定 义 : 类 变 量 是 堆 栈 上 的 对 象, 在 其 作 用 域 退 出 时, 自 动 调 用 它 们 的 终 结 动 作 堆 对 象 需 要 显 式 释 放, 释 放 之 前 恰 好 应 该 执 行 终 结 动 作, 易 于 处 理 采 用 引 用 语 义 的 语 言 ( 如 Java), 通 常 并 不 提 供 销 毁 对 象 的 显 式 操 作 ( 以 防 悬 空 引 用 ), 对 象 销 毁 由 GC 自 动 进 行 有 了 GC, 对 终 结 动 作 的 需 求 大 大 减 少, 终 结 动 作 由 GC 自 动 进 行 执 行 终 结 动 作 的 时 间 不 可 预 计, 出 现 了 ( 时 间 和 顺 序 的 ) 不 确 定 性 对 象 关 联 和 GC 顺 序 的 不 确 定 性 使 终 结 动 作 很 难 描 述 2012 年 5 月 32

17 静 态 和 动 态 约 束 的 方 法 OO 语 言 里 的 方 法 调 用 通 常 采 用 x.m(...) 的 形 式, 其 中 x 是 一 个 指 向 或 者 引 用 对 象 的 变 量 m 是 x 的 定 义 类 型 ( 类, 假 定 为 B) 的 一 个 方 法 问 题 :x.m(...) 所 调 用 的 方 法 何 时 / 根 据 什 么 确 定? 两 种 可 能 性 : 根 据 变 量 x 的 类 型 ( 在 程 序 里 静 态 定 义 ) 确 定 ( 静 态 约 束 ) 根 据 方 法 调 用 时 ( 被 x 引 用 / 指 向 ) 的 当 前 对 象 的 类 型 确 定 ( 动 态 约 束 ) 由 于 x 可 能 引 用 ( 指 向 )B 类 或 其 任 何 子 类 的 对 象, 因 此 同 为 这 个 方 法 调 用, 不 同 的 执 行 中 实 际 调 用 的 完 全 可 能 是 不 同 的 方 法 所 有 OO 语 言 都 支 持 动 态 方 法 约 束 ( 否 则 就 不 是 OO 语 言 ), 多 数 以 它 作 为 默 认 方 式 少 数 语 言 同 时 也 支 持 静 态 约 束 的 方 法, 如 C++ Ada 等 C++ 把 动 态 约 束 的 方 法 称 为 虚 方 法 (virtual 方 法 ), 而 且 以 静 态 约 束 作 为 默 认 方 式 这 种 设 计 与 它 的 C 基 础 有 关 2012 年 5 月 33 静 态 约 束 的 实 现 调 用 静 态 约 束 的 方 法, 实 现 方 式 就 像 是 调 用 普 通 子 程 序 ( 过 程 / 函 数 ), 唯 一 不 同 之 处 就 是 需 要 传 入 一 个 指 向 调 用 对 象 的 指 针 在 符 号 表 里, 每 个 类 的 记 录 项 都 包 含 了 一 个 基 类 索 引, 依 靠 这 个 索 引 形 成 的 基 类 链 就 可 以 静 态 ( 编 译 时 ) 完 成 静 态 约 束 的 方 法 的 查 找 : 1. 首 先 在 变 量 所 属 的 类 ( 静 态 已 知 ) 里 查 找 ( 查 找 符 号 表 ) 如 果 在 这 里 找 到 了 所 需 要 的 方 法, 就 生 成 对 它 的 调 用 ; 如 果 不 存 在 就 反 复 做 下 一 步 2. 转 到 当 前 类 的 基 类 里 去 查 找 相 应 方 法, 如 果 找 到 就 生 成 对 它 的 调 用 ; 如 果 找 不 到 就 继 续 沿 着 基 类 链 上 溯 查 找 3. 如 果 已 无 上 层 基 类, 查 找 失 败 报 告 调 用 了 无 定 义 的 方 法 错 误 所 有 对 静 态 约 束 的 方 法 的 调 用 都 可 以 静 态 ( 编 译 时, 一 次 ) 处 理 运 行 时 的 动 作 与 一 般 子 程 序 调 用 完 全 一 样, 没 有 任 何 额 外 运 行 开 销 如 果 语 言 允 许 静 态 约 束 的 方 法, 采 用 静 态 约 束 可 以 提 高 效 率 静 态 约 束 的 方 法 还 可 以 做 inline 处 理 2012 年 5 月 34

18 方 法 的 动 态 约 束 class B { T0 tem(...) {... sp(...)... } virtual T1 sp(...) { } } void fun(b &x) {... x.tem(...)...} class D : public B { T1 sp(...) { } } B b; D d; fun(b); fun(d); B 类 里 定 义 了 一 个 一 般 性 操 作 tem, 对 所 有 B 类 对 象 都 有 价 值 tem 中 调 用 了 一 个 特 殊 操 作 sp, 该 操 作 可 能 因 子 类 不 同 而 不 同 子 类 D 覆 盖 操 作 sp 后, 仍 能 正 常 地 调 用 操 作 tem, 而 且 其 中 对 sp 的 调 用 能 调 用 到 D 类 里 新 的 操 作 定 义 这 是 OO 程 序 设 计 里 最 重 要 的 东 西 : 这 一 特 征 使 新 类 给 出 的 行 为 扩 充 ( 或 修 改 ) 可 以 自 然 地 融 合 到 已 有 功 能 里, 包 括 放 入 已 有 的 操 作 框 架 里 ( 这 个 例 子 就 是 ) 2012 年 5 月 35 动 态 约 束 的 实 现 : 一 般 模 型 对 最 一 般 的 对 象 模 型, 运 行 中 调 用 动 态 约 束 的 方 法 时 要 做 一 次 与 编 译 时 处 理 静 态 约 束 方 法 一 样 的 查 找, 这 种 查 找 可 能 非 常 耗 时 为 完 成 这 种 方 法 查 找 : 每 个 类 需 要 有 一 个 运 行 时 表 示 ( 把 类 也 作 为 程 序 对 象 ), 类 表 示 中 需 要 有 一 个 成 分 是 基 类 索 引, 还 有 一 个 成 分 是 方 法 表 每 个 对 象 里 必 须 保 存 所 属 类 的 信 息 ( 一 个 类 指 针, 指 向 其 类 ) 每 个 动 态 方 法 调 用 都 启 动 一 次 方 法 查 找 如 果 找 到 就 调 用, 找 不 到 就 发 出 一 个 message is not understood (Smalltalk) 动 态 错 误 这 种 方 式 普 遍 有 效, 可 以 处 理 具 有 任 何 动 态 性 质 的 对 象 模 型, 如 动 态 类 层 次 结 构 构 造 和 动 态 方 法 更 新 ( 修 改 添 加 和 删 除 ) 动 态 类 属 关 系 等 查 找 的 时 间 开 销 依 赖 于 继 承 链 的 长 度 和 继 承 链 上 各 个 类 中 方 法 的 个 数 这 种 方 法 的 缺 点 是 效 率 太 低 如 果 所 采 用 的 对 象 模 型 在 动 态 特 性 方 面 有 所 限 制, 就 可 能 开 发 出 效 率 更 高 的 方 法 2012 年 5 月 36

19 动 态 约 束 的 实 现 : 受 限 模 型 早 期 OO 语 言 ( 包 括 Smalltalk) 都 采 用 功 能 强 大 灵 活 的 对 象 模 型 在 提 供 了 极 大 灵 活 性 的 同 时, 也 带 来 效 率 上 的 巨 大 开 销 这 也 是 早 期 OO 语 言 及 其 概 念 难 被 实 际 软 件 工 作 者 接 受 的 最 关 键 原 因 提 高 算 法 效 率 的 最 基 本 途 径 是 限 制 要 解 决 的 问 题 ( 对 更 特 殊 一 些 的 问 题, 可 能 找 到 效 率 更 高 的 算 法 ), 并 设 计 优 化 的 实 现 模 型 对 于 OO 语 言, 就 是 要 找 到 一 个 受 限 的 对 象 模 型, 它 能 比 较 高 效 地 实 现, 同 时 又 能 满 足 绝 大 部 分 实 际 OO 程 序 开 发 的 需 要 常 规 OO 语 言 中 的 对 象 模 型 有 如 下 特 性 ( 足 以 支 持 常 见 程 序 设 计 工 作 ) : 类 层 次 结 构 是 静 态 确 定 的 每 个 类 里 的 动 态 约 束 方 法 的 个 数 和 顺 序 都 静 态 确 定 在 这 种 模 型 里 就 可 以 避 免 动 态 方 法 查 找, 使 方 法 调 用 的 执 行 效 率 接 近 普 通 的 子 程 序 调 用 的 执 行 效 率 (C++ 和 Stroustrup 的 贡 献 ) 2012 年 5 月 37 动 态 约 束 的 实 现 优 化 实 现 模 型, 其 中 绝 大 部 分 工 作 都 能 静 态 完 成 : 每 个 类 的 运 行 时 体 现 是 一 个 动 态 约 束 方 法 的 表 ( 称 为 虚 表,vtable), 这 是 一 个 指 针 表, 指 针 指 向 本 类 的 对 象 需 要 调 用 的 方 法 的 代 码 体 虚 表 的 指 针 按 方 法 在 类 里 的 顺 序 排 列, 每 个 方 法 对 应 于 一 个 顺 序 下 标 2012 年 5 月 38

20 动 态 约 束 的 实 现 在 每 个 对 象 开 头 ( 数 据 域 之 前 ) 增 加 一 个 指 针 vt 创 建 对 象 时, 设 置 其 vt 指 向 其 所 属 的 类 的 虚 表 ( 运 行 中 始 终 不 变 ) f 是 指 向 F 的 指 针 ( 或 引 用 ) 调 用 f->m(...) 的 实 现 比 调 用 静 态 约 束 的 方 法 多 了 中 间 的 两 条 指 令, 它 们 都 需 要 访 问 内 存 2012 年 5 月 39 动 态 约 束 的 实 现 虚 表 的 创 建 : 如 果 类 B 没 有 基 类, 就 将 其 定 义 里 的 动 态 约 束 方 法 的 代 码 体 指 针 依 次 填 入 它 的 虚 表 ( 下 标 从 0 或 者 1 开 始 算 ) 若 类 D 的 基 类 是 B, 建 立 D 的 虚 表 时 先 复 制 B 的 虚 表 如 D 覆 盖 了 B 的 某 个 ( 某 些 ) 动 态 约 束 方 法, 就 用 新 方 法 的 指 针 覆 盖 虚 表 里 对 应 的 已 有 指 针 若 D 定 义 了 新 的 动 态 约 束 方 法, 就 将 它 们 顺 次 加 入 虚 表, 放 在 后 面 如 果 f 指 向 的 对 象 是 B, 那 么 f->m(...) 也 会 调 用 正 确 的 方 法 2012 年 5 月 40

21 动 态 约 束 的 实 现 重 温 受 限 的 对 象 模 型 ( 对 一 般 程 序 设 计 已 经 足 够 强 大 ) : 类 层 次 结 构 是 静 态 确 定 的 每 个 类 里 的 动 态 约 束 方 法 的 个 数 和 顺 序 都 静 态 确 定 优 化 实 现 的 效 果 : 构 造 方 法 表 的 工 作 在 编 译 时 完 成 每 个 对 象 里 需 要 增 加 一 个 指 向 其 类 的 方 法 表 的 指 针 每 次 方 法 调 用 需 要 多 执 行 两 条 指 令 ( 典 型 情 况 ), 多 访 问 内 存 两 次 对 这 种 受 限 对 象 模 型, 动 态 约 束 方 法 调 用 的 额 外 开 销 不 大, 一 般 软 件 系 统 ( 包 括 系 统 软 件 的 绝 大 部 分 情 况 ) 都 可 以 接 受 Stroustrup 在 设 计 和 实 现 C++ 语 言 时 特 别 希 望 能 够 得 到 高 效 的 实 现, 最 后 选 择 了 这 种 对 象 模 型, 并 设 计 了 这 种 高 效 的 实 现 方 法 2012 年 5 月 41 动 态 约 束 的 实 现 对 数 据 抽 象 和 面 向 对 象 技 术 的 支 持, 以 及 高 效 的 实 现, 使 实 际 软 件 工 作 者 看 到 了 C++( 和 OO) 的 潜 力, 最 终 导 致 了 面 向 对 象 的 革 命 以 后 的 主 流 面 向 对 象 语 言 也 都 采 用 了 这 种 技 术 当 然, 采 用 这 种 选 择, 也 就 对 它 们 可 能 采 用 的 对 象 模 型 提 出 了 严 格 的 限 制 Pragmatics 里 本 章 最 后 的 练 习 里 还 讨 论 了 其 他 高 效 实 现 方 法, C++ 语 言 的 设 计 与 演 化 里 也 有 讨 论 ( 通 过 几 条 指 令 构 成 的 一 段 蹦 床 代 码, 将 控 制 转 到 实 际 应 该 调 用 的 方 法, 主 要 是 要 解 决 多 重 继 承 问 题 ) 虚 方 法 ( 动 态 约 束 方 法 ) 的 一 个 重 要 缺 点 是 不 能 做 inline 处 理 ( 在 线 展 开 要 求 静 态 确 定 被 调 用 的 方 法 ), 使 编 译 器 难 以 进 行 跨 过 程 的 代 码 优 化 C++ 希 望 支 持 高 效 的 系 统 程 序 设 计, 认 为 虚 方 法 带 来 的 效 率 损 失 有 时 也 是 不 能 容 忍 的, 因 此 它 同 时 支 持 静 态 方 法 约 束 注 意 : 如 果 一 个 类 里 只 有 静 态 约 束 的 方 法, 该 类 编 译 之 后 就 不 会 生 成 方 法 表, 该 类 的 对 象 也 没 有 一 个 指 针 的 额 外 存 储 开 销 2012 年 5 月 42

22 类 层 次 结 构 和 强 制 转 换 C++ 代 码 : 基 类 指 针 可 以 安 全 地 引 用 派 生 类 的 对 象, 这 时 的 ( 非 变 换 ) 自 动 类 型 转 换 称 为 向 上 强 制,upcasting 但 子 类 指 针 不 能 引 用 基 类 对 象 向 上 强 制 总 是 安 全 的, 不 会 出 问 题, 总 可 以 自 动 进 行 因 为 派 生 类 包 含 基 类 所 有 数 据 成 分, 因 此 可 以 支 持 基 类 所 有 操 作 后 一 个 赋 值 是 编 译 时 错 误, 派 生 类 指 针 不 能 引 用 基 类 对 象 2012 年 5 月 43 类 层 次 结 构 和 强 制 转 换 如 果 用 foo 类 的 指 针 q 传 递 一 个 对 象 可 保 证 该 对 象 一 定 是 foo 的 或 它 的 某 个 派 生 类 的 对 象 如 果 由 foo 类 指 针 q 传 递 的 实 际 上 是 一 个 bar 对 象, 我 们 有 时 需 要 把 它 作 为 bar 对 象 使 用, 例 如 想 对 它 调 用 foo 里 没 有 的 方 法 q->s(..) 是 静 态 类 型 错 误 (q 的 指 向 类 型 是 foo,foo 无 方 法 s) s = q 也 是 静 态 类 型 错 ( 不 能 保 证 q 指 向 的 是 bar, 赋 值 不 安 全 ) 能 不 能 用 s = (bar*)q? 如 果 q 指 向 的 确 实 是 一 个 bar 对 象, 当 前 情 况 下 恰 好 可 以, 因 为 (bar*) 对 指 针 是 非 变 换 转 换, 导 致 把 foo 指 针 当 做 bar 指 针 恰 好 bar 对 象 的 起 始 位 置 和 各 成 分 的 偏 移 量 与 foo 一 样 这 些 条 件 有 时 不 成 立 ( 下 面 会 看 到, 在 存 在 多 重 继 承 时 ) 这 种 转 换 不 安 全, 它 要 求 q 指 向 的 确 实 是 bar 动 态 怎 么 检 查 类 型? 2012 年 5 月 44

23 类 层 次 结 构 和 强 制 转 换 C++ 为 安 全 的 向 下 强 制 转 换 提 供 了 专 门 运 算 符 dynamic_cast 上 述 转 换 的 正 确 写 法 : bar *x = dynamic_cast<bar*>(q); 如 果 q 指 向 的 确 实 是 bar 类 的 对 象, 转 换 将 成 功,x 指 向 该 bar 类 对 象 如 果 q 指 向 的 不 是 bar 类 的 对 象, 转 换 失 败,x 被 赋 空 指 针 值 0 通 过 检 查 x 的 值, 可 以 判 断 转 换 是 否 成 功 实 现 dynamic_cast, 就 要 求 在 运 行 中 能 判 断 对 象 的 类 型 和 类 型 间 关 系 这 就 是 运 行 时 类 型 识 辨 (Run Time Type Identification,RTTI) 要 像 支 持 安 全 的 向 下 转 换,C++ 的 实 现 需 要 在 虚 表 里 增 加 一 个 类 描 述 符 常 放 在 虚 表 最 前 一 些 C++ 编 译 器 要 求 用 户 指 明 需 要 用 RTTI, 在 这 种 情 况 下 才 按 这 种 方 式 创 建 虚 表 ( 虚 表 的 形 式 与 没 有 类 描 述 符 时 不 同 ) dynamic_cast 检 查 类 型 关 系, 确 定 能 否 转 换, 在 能 转 换 就 完 成 转 换 2012 年 5 月 45 类 层 次 结 构 和 动 态 强 制 多 数 OO 语 言 ( 如 Java 等 ) 默 认 支 持 RTTI, 虚 表 里 总 保 存 类 描 述 符 如 何 描 述 类 型 是 编 译 器 的 具 体 实 现 问 题, 不 必 关 心 RTTI 机 制 可 保 证 类 型 安 全 的 转 换 虽 然 Java 的 类 型 转 换 采 用 C 语 言 类 型 转 换 的 描 述 形 式, 但 功 能 不 同 在 牵 涉 到 基 本 类 型 时, 可 能 需 要 做 值 的 转 换 在 牵 涉 到 类 类 型 时, 需 要 做 动 态 的 类 型 转 换 合 法 性 检 查 如 果 发 现 错 误, 就 抛 出 异 常 ClassCastException 否 则 做 非 变 换 类 型 转 换, 把 相 应 引 用 直 接 当 作 所 需 的 类 型 的 引 用 从 基 本 类 型 值 到 类 类 型 的 合 法 转 换, 还 需 要 自 动 构 造 对 象 (boxing); 从 类 对 象 到 基 本 类 型 值 的 转 换 需 要 提 取 对 象 内 的 值 (unboxing) 运 行 时 类 型 描 述 机 制 还 被 用 于 支 持 自 反 (reflection) 功 能 2012 年 5 月 46

24 多 重 继 承 有 时 需 要 从 多 个 基 类 出 发 进 行 继 承, 例 如 需 要 管 理 所 有 同 年 级 ( 一 二 三 四 年 级 ) 的 学 生 记 录, 要 建 立 学 生 的 表, 可 能 希 望 从 两 个 类 继 承 : class student : public person, public gp_list_node { } 这 样 student 类 的 对 象 将 同 时 具 有 : person 类 对 象 的 成 分, 因 此 可 以 记 录 个 人 信 息 并 处 理 这 些 信 息 gp_list_node 类 对 象 的 成 分, 因 此 可 作 为 表 结 点 链 入 表 中, 进 行 管 理 还 可 以 有 其 自 身 的 特 殊 的 数 据 成 员 和 操 作 通 过 多 重 继 承 定 义 的 类 是 它 的 各 个 基 类 的 子 类 这 种 派 生 类 的 对 象 也 是 它 的 各 个 基 类 的 对 象, 在 需 要 这 个 类 的 任 何 一 个 基 类 的 对 象, 都 可 以 用 这 个 类 的 对 象 student 类 的 对 象 是 person, 也 是 gp_list_node 2012 年 5 月 47 多 重 继 承 如 果 只 有 一 个 基 类, 我 们 把 基 类 对 象 的 数 据 成 员 按 照 原 来 的 位 置 存 放 在 派 生 类 对 象 数 据 区 域 的 最 前 面, 这 就 使 可 以 对 一 个 对 象 调 用 其 任 意 基 类 的 方 法, 因 为 数 据 成 员 的 位 置 相 同 也 可 以 对 派 生 类 对 象 调 用 其 所 属 类 里 定 义 或 覆 盖 的 方 法 如 果 语 言 允 许 多 重 继 承, 对 象 布 局 首 先 就 出 问 题 了 : 不 可 能 把 多 个 基 类 的 数 据 成 员 都 放 在 派 生 类 对 象 的 数 据 区 域 的 最 前 面 要 实 现 多 重 继 承, 首 先 必 须 设 计 一 种 数 据 布 局, 把 多 个 基 类 的 数 据 成 员 的 位 置 安 排 好 在 需 要 调 用 基 类 的 方 法 时, 必 须 能 够 找 到 位 于 当 前 对 象 里 的 相 应 的 基 类 对 象 所 在 的 位 置 具 体 例 子 : 需 要 能 从 任 何 一 个 student 类 的 对 象 产 生 出 它 的 person 观 察 点 和 gp_list_node 观 察 点 注 意 : 最 多 只 能 把 一 个 基 类 对 象 ( 的 数 据 成 分, 例 如 person) 放 在 student 对 象 的 最 前 面 2012 年 5 月 48

25 多 重 继 承 : 实 现 多 重 继 承 的 一 种 布 局 方 式 偏 移 量 d 可 静 态 确 定 在 调 用 基 类 方 法 和 向 上 向 下 强 制 时, 都 要 用 到 这 个 d 2012 年 5 月 49 多 重 继 承 : 实 现 student 的 虚 表 分 两 部 分 : 第 一 部 分 是 person 的 虚 方 法 ( 可 能 有 覆 盖 ) 和 student 新 增 虚 方 法, 虚 表 指 针 放 在 对 象 开 始 第 二 部 分 是 gp_list_node 的 虚 方 法 ( 可 能 有 覆 盖 ), 虚 表 指 针 放 在 偏 移 量 d 处 student 对 象 的 每 个 数 据 成 分 相 对 于 对 象 开 始 的 偏 移 量 可 静 态 确 定 虚 方 法 相 对 所 在 虚 表 的 偏 移 量 可 静 态 确 定 确 定 被 调 用 的 方 法 : 调 用 第 一 部 分 的 方 法, 确 定 方 法 指 针 的 方 式 与 单 继 承 一 样 调 用 gp_list_node 定 义 的 方 法, 取 对 象 地 址 值 加 d 得 到 gp_list_node 的 虚 表 地 址, 而 后 按 偏 移 量 找 到 相 应 的 方 法 指 针 2012 年 5 月 50

26 多 重 继 承 : 实 现 问 题 : 如 何 给 被 调 用 的 方 法 传 送 this 指 针? 如 果 只 有 单 继 承, 基 类 对 象 总 出 现 在 派 生 类 对 象 的 最 前 面 当 允 许 多 重 继 承 时, 基 类 对 象 可 能 出 现 在 派 生 类 对 象 里 的 任 何 位 置 派 生 类 对 象 基 类 对 象 派 生 类 对 象 基 类 对 象 基 类 的 this 指 针 也 就 是 整 个 ( 派 生 类 ) 对 象 的 this 指 针 如 果 只 有 对 象 里 基 类 对 象 的 this 指 针, 如 何 找 到 整 个 对 象 的 this? func (gp_list_node *x) {... x->md(...)... } 假 定 gp_list_node 有 方 法 md 实 际 调 用 func 时 送 的 可 能 是 一 个 student 对 象 在 调 用 md 时, 送 去 的 this 指 针 应 该 是 什 么? 2012 年 5 月 51 多 重 继 承 : 实 现 func (gp_list_node *x) {... x->md(...)... } 假 定 调 用 func 时 的 实 参 确 实 是 个 student 对 象, 那 么 : 若 student 没 有 覆 盖 md, 送 给 md 的 this 指 针 就 是 x 若 student 覆 盖 md, 送 给 md 的 this 应 指 向 包 含 x 所 指 对 象 的 那 个 student 对 象 调 用 func 时, 参 数 可 能 是 个 student 对 象 调 用 md 时, 送 的 this 指 针 应 是 什 么? x student 对 象 的 this gp_list_node 对 象 的 this professor 对 象 的 this 假 定 professor 从 person 的 子 类 employee 和 gp_list_node 派 生 gp_list_node 对 象 在 professor 里 的 位 置 可 能 与 在 student 里 不 同 func 也 可 能 用 于 professor x gp_list_node 对 象 的 this 函 数 func 里 怎 么 算 出 正 确 的 this 值? 注 意 : 这 一 计 算 对 每 个 派 生 类 可 能 不 同! 2012 年 5 月 52

27 多 重 继 承 : 实 现 func (gp_list_node *x) {... x->md(...)... } 定 义 派 生 类 ( 例 如 student professor) 之 前, 并 不 知 道 与 之 对 应 的 d 值 是 什 么 ( 而 且, 不 同 派 生 类 可 能 有 不 同 的 d 值 ) 同 一 派 生 类 的 不 同 方 法, 覆 盖 的 就 需 要 调 整, 未 覆 盖 的 不 调 整 由 于 动 态 约 束, 编 译 时 ( 静 态 ) 不 知 道 该 不 该 调 整 this 值 结 论 : 如 果 没 有 其 他 信 息, 编 译 不 知 道 怎 么 计 算 送 给 md 的 this 值 细 节 情 况 : 调 整 或 者 不 调 整, 是 由 具 体 的 方 法 确 定 的 即 使 要 调 整, 对 于 不 同 的 类 也 可 能 需 要 不 同 的 调 整 值 解 决 办 法 是 在 派 生 类 ( 的 虚 表 ) 里 为 计 算 this 值 提 供 信 息 一 种 方 法 : 在 虚 表 里 为 每 个 方 法 指 针 附 一 个 this 校 正 值 如 果 student 覆 盖 方 法 m, 其 校 正 值 为 -d, 没 覆 盖 时 调 整 值 为 0 调 用 m 时 给 当 时 的 this 加 上 这 个 校 正 值, 而 后 转 入 方 法 体 2012 年 5 月 53 多 重 继 承 : 实 现 假 定 对 象 是 my_student 假 定 调 用 gp_list_node 的 第 三 个 方 法 实 现 调 用 的 指 令 : r3 是 被 调 方 法 指 针,r1 是 送 给 方 法 的 this 值 如 果 语 言 里 存 在 多 重 继 承, 所 有 方 法 表 都 要 增 加 this 校 正 值, 每 次 方 法 调 用 都 必 须 考 虑 this 校 正 ( 回 想 前 面 例 子 ) 实 现 的 复 杂 性, 空 间 开 销 和 方 法 调 用 的 时 间 开 销 都 增 加 了 无 论 一 个 类 是 否 用 到 多 重 继 承, 都 需 要 付 出 额 外 代 价 代 价 是 全 局 性 的, 即 使 不 用 ( 不 用 多 重 继 承 ) 也 要 付 出 代 价 2012 年 5 月 54

28 多 重 继 承 : 歧 义 性 假 定 person 和 gp_list_node 里 都 定 义 了 debug_print 方 法 现 在 有 student* 类 型 的 变 量 s, 问 : s->debug_print() 调 用 哪 个 方 法 这 是 多 重 继 承 引 起 的 语 义 歧 义 性 问 题 不 同 语 言 采 用 了 不 同 处 理 方 法 C++ 要 求 明 确 重 新 定 义 存 在 歧 义 的 方 法 ( 否 则 编 译 报 错 ): 如 果 程 序 里 总 是 要 顺 序 地 调 用 两 个 方 法 如 有 可 能 需 要 分 别 调 用 两 个 方 法 中 的 任 何 一 个 2012 年 5 月 55 多 重 继 承 : 歧 义 性 如 同 名 方 法 是 虚 方 法, 需 要 在 多 重 继 承 的 派 生 类 里 覆 盖, 问 题 更 难 办 ( 覆 盖 哪 一 个 ) Stroustrup 提 出 了 定 义 转 接 类 作 为 过 渡 的 技 术 : 这 里 就 可 以 分 别 写 覆 盖 定 义 其 他 提 供 多 重 继 承 的 语 言 可 能 支 持 不 同 方 式 2012 年 5 月 56

29 多 重 继 承 : 歧 义 性 如 果 派 生 类 D 继 承 基 类 B 和 C, 而 B 和 C 都 继 承 一 个 公 共 基 类 A 在 D 类 型 的 对 象 里 到 底 有 几 个 A 对 象?( 一 个 还 是 两 个?) 书 上 的 例 ( 在 职 研 究 生 ): class professor : public person, public gp_list_node { } class student_prof : public student, public professor { } student_prof 继 承 person 和 gp_list_node 各 两 次 gp_list_node person gp_list_node 可 能 希 望 student_prof 对 象 里 : 只 有 一 个 person( 是 同 一 个 人 ) student professor 有 两 个 gp_list_node( 以 便 可 以 链 接 到 两 个 不 同 的 表 里 ) student_prof 希 望 的 继 承 形 式 2012 年 5 月 57 多 重 继 承 : 歧 义 性 两 种 不 同 需 要 和 相 应 的 继 承 概 念 对 gp_list_node 的 继 承 要 求 为 继 承 树 的 不 同 分 支 分 别 提 供 不 同 的 副 本, 这 种 方 式 称 为 复 本 式 继 承 对 person 的 继 承 要 求 所 有 分 支 只 有 一 个 副 本, 称 为 共 享 式 继 承 C++ 里 默 认 为 复 本 式 继 承 可 以 为 基 类 加 virtual 修 饰, 要 求 采 用 共 享 式 继 承 class professor : public virtual person, public gp_list_node { } class student : public virtual person, public gp_list_node { } class student_prof : public student, public professor { } 前 一 定 义 保 证 最 终 的 student_prof 对 象 符 合 我 们 的 需 要 其 他 支 持 多 重 继 承 的 OO 语 言 在 这 方 面 可 能 有 不 同 的 规 定 2012 年 5 月 58

30 多 重 继 承 : 复 本 式 复 本 式 继 承 没 有 引 进 任 何 新 问 题 类 D 通 过 两 条 不 同 路 径 继 承 两 个 基 类 A, 其 对 象 里 有 两 份 A 数 据 成 分 方 法 表 里 有 两 组 A 的 虚 方 法 项 究 竟 调 用 那 里 的 方 法, 要 根 据 取 得 D 对 象 的 哪 个 基 类 观 察 点 (B 或 C) 确 定 2012 年 5 月 59 多 重 继 承 : 复 本 式 不 能 直 接 从 D 对 象 出 发 访 问 A 的 方 法 必 须 先 转 到 B 或 C 观 点 ( 通 过 指 针 或 引 用 方 式 ), 而 后 才 能 调 用 A 的 方 法 虚 表 项 里 也 需 要 校 正 值 2012 年 5 月 60

31 多 重 继 承 : 共 享 式 现 在 D 对 象 里 只 有 一 个 A 对 象, 应 该 只 有 一 组 A 的 虚 方 法 如 果 没 有 覆 盖, 情 况 还 比 较 简 单 若 B 覆 盖 了 A 的 虚 方 法 f, 那 么 D 应 该 通 过 C 继 承 原 来 A 的 方 法 f, 还 是 由 B 继 承 新 定 义 的 f? 出 现 歧 义!( 两 个 类 都 覆 盖 的 情 况 类 似 ) 这 是 共 享 式 继 承 带 来 的 新 问 题 2012 年 5 月 61 多 重 继 承 : 共 享 式 C++ 禁 止 这 种 歧 义 性, 要 求 : 如 果 存 在 覆 盖, 必 须 有 一 个 定 义 位 于 其 他 相 关 类 的 公 共 派 生 类 里 上 面 情 况 不 满 足 这 一 规 定, 因 此 不 合 法 其 他 语 言 ( 如 果 有 多 重 继 承 ) 可 能 采 取 不 同 的 管 理 策 略 处 理 这 个 问 题 在 Eiffel 语 言 里 如 果 一 个 类 可 能 从 多 个 基 类 继 承 来 同 一 方 法 的 不 同 版 本, 可 以 在 这 个 类 里 明 确 说 明 要 继 承 哪 一 个 也 可 以 通 过 重 命 名 的 方 式 消 解 这 种 歧 义 性 2012 年 5 月 62

32 多 重 继 承 : 共 享 式 布 局 : 在 D 对 象 里 只 有 一 个 A 对 象 D 里 的 B 对 象 和 C 对 象 不 可 能 都 连 续 图 中 方 式 是 让 D 里 的 B 和 C 都 不 连 续, A 部 分 单 独 放 置 这 时 需 要 在 各 个 派 生 类 对 象 里 保 存 A 对 象 的 地 址 这 个 地 址 相 对 于 各 子 对 象 的 距 离 都 是 编 译 确 定 的 常 量 2012 年 5 月 63 多 重 继 承 : 共 享 式 数 据 成 员 访 问 : 要 访 问 A 的 成 员, 根 据 偏 移 量 计 算 后 间 接 取 成 员 要 调 用 A 里 的 第 n 个 虚 方 法 : 这 里 还 是 需 要 在 虚 表 里 保 存 this 校 正 值 存 在 解 决 问 题 的 其 他 方 式 ( 蹦 床 代 码 ) 2012 年 5 月 64

33 混 入 式 继 承 Java 代 码 示 例 : 向 一 个 ( 一 组 ) 类 里 逐 步 混 入 若 干 接 口 (interface) 的 虚 方 法 三 个 接 口 : 排 序 显 示 保 存 继 承 widget, 混 入 一 个 接 口 的 方 法 实 现 2012 年 5 月 65 混 入 式 继 承 混 入 另 外 两 个 接 口 的 方 法 实 现 augmented_widget 可 以 放 入 排 序 表 可 以 在 窗 口 里 显 示 可 以 保 存 到 字 典 里 2012 年 5 月 66

34 2012 年 5 月 67 混 入 式 继 承 混 入 式 继 承 的 布 局 和 方 法 调 用 : 成 员 布 局 可 以 简 单 地 根 据 逐 步 混 入 的 顺 序 排 列 各 个 混 入 部 分 建 立 独 立 的 方 法 表 在 每 个 方 法 表 前 面 加 一 个 this 修 正 量 项 这 一 修 正 量 由 这 个 表 里 所 有 的 方 法 共 享 因 为 这 些 方 法 都 是 一 起 定 义 的 不 能 直 接 把 混 入 的 方 法 直 接 加 在 原 来 的 方 法 表 之 后, 因 为 每 个 观 点 都 需 要 像 一 个 独 立 的 对 象, 可 以 独 立 操 作 和 使 用 2012 年 5 月 68

35 面 向 对 象 的 部 分 总 结 面 向 对 象 的 三 个 基 本 概 念 : 封 装 ( 数 据 抽 象 ) 继 承 ( 类 型 扩 充, 代 码 重 用 ) 动 态 方 法 约 束 ( 调 整 抽 象 的 行 为 方 式 ) 实 现 面 向 对 象 的 支 持 : 需 要 引 用 或 者 指 针 概 念 的 支 持 需 要 考 虑 自 动 的 初 始 化 和 终 结 处 理 通 常 需 要 以 废 料 收 集 为 主 要 特 征 的 存 储 管 理 机 制 的 支 持 运 行 中 最 重 要 的 问 题 是 支 持 动 态 约 束 在 受 限 的 对 象 模 型 中, 可 以 通 过 虚 表 技 术 得 到 很 好 的 性 能 多 重 继 承 可 以 解 决 一 些 编 程 问 题, 但 也 带 来 概 念 和 实 现 方 面 的 困 难 和 代 价 混 入 方 式 可 以 在 许 多 情 况 下 替 代 多 重 继 承 2012 年 5 月 69

(procedure-oriented)?? 2

(procedure-oriented)?? 2 1 (procedure-oriented)?? 2 (Objected-Oriented) (class)? (method)? 3 : ( 4 ???? 5 OO 1966 Kisten Nygaard Ole-Johan Dahl Simula Simula 爲 6 Smalltalk Alan Kay 1972 PARC Smalltalk Smalltalk 爲 Smalltalk 爲 Smalltalk

More information

Microsoft PowerPoint - plan06.ppt

Microsoft PowerPoint - plan06.ppt 程 序 设 计 语 言 原 理 Principle of Programming Languages 裘 宗 燕 北 京 大 学 数 学 学 院 2012.2~2012.6 6. 基 本 控 制 抽 象 子 程 序 抽 象 子 程 序 活 动 和 局 部 环 境 静 态 实 现 模 型 一 般 实 现 模 型 调 用 序 列 和 在 线 展 开 参 数 机 制 泛 型 子 程 序 异 常 处 理 其

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

文档 3

文档 3 1 2 3 4 5 6 / A B A B B A 7 8 9 10 11 12 OO A B A B 13 14 15 16 17 18 19 20 21 22 OOA OOA 23 24 25 OOA OOA 26 27 28 29 30 31 32 use case 33 use case 34 35 36 37 OOD OOA OOD 38 OOA 39 OOD 40 41 / 42 OOD

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

Microsoft PowerPoint - plan03.ppt

Microsoft PowerPoint - plan03.ppt 程 序 设 计 语 言 原 理 Principle of Programming Languages 裘 宗 燕 北 京 大 学 数 学 学 院 2012.2~2012.6 3. 对 象 和 环 境 数 据 和 类 型 对 象 : 创 建 销 毁 和 使 用 ( 存 在 期 ) 变 量 : 命 名 和 性 质 约 束 作 用 域 名 字 分 类 指 针 和 引 用 别 名 其 他 相 关 问 题 2012

More information

Microsoft Word - chap13.doc

Microsoft Word - chap13.doc 101 13. More on Inheritance in C++ 13.1 Virtual Bases and Diamond Hierarchies 13.1.1 Virtual Bases and Constructor Diamond hierarchies 為 C++ 多 重 繼 承 之 一 大 問 題 程 式 範 例 : oop_ex116.cpp 對 於 此,C++ 提 供 了 virtual

More information

Microsoft PowerPoint - plan03.ppt

Microsoft PowerPoint - plan03.ppt 声 明 和 定 义 严 格 说, 声 明 (declaration) 和 定 义 (definition) 不 一 样 声 明 : 定 义 : 说 明 一 个 事 物 的 存 在 和 它 的 一 些 属 性, 例 如 变 量 与 其 类 型 根 据 声 明 可 以 确 定 被 声 明 事 物 的 使 用 方 式 对 象 声 明 并 不 实 际 建 立 对 象 例 如 :C 语 言 的 外 部 (extern)

More information

Strings

Strings Inheritance Cheng-Chin Chiang Relationships among Classes A 類 別 使 用 B 類 別 學 生 使 用 手 機 傳 遞 訊 息 公 司 使 用 金 庫 儲 存 重 要 文 件 人 類 使 用 交 通 工 具 旅 行 A 類 別 中 有 B 類 別 汽 車 有 輪 子 三 角 形 有 三 個 頂 點 電 腦 內 有 中 央 處 理 單 元 A

More information

電機工程系認可證照清單 2011/7/1

電機工程系認可證照清單                  2011/7/1 南 台 科 技 大 學 電 機 工 程 系 專 業 證 照 課 程 實 施 要 點 96 年 10 月 05 日 系 務 會 議 通 過 100 年 06 月 30 日 系 務 會 議 修 正 通 過 101 年 06 月 21 日 系 務 會 議 修 正 通 過 一 本 系 為 提 升 學 生 的 專 業 技 能, 特 訂 定 本 辦 法 二 實 施 對 象 : 本 系 日 間 部 96 學 年

More information

IDisposable编程模式剖析

IDisposable编程模式剖析 对 象 的 生 存 期 北 京 理 工 大 学 计 算 机 学 院 金 旭 亮 概 述 万 物 有 生 必 有 死, 类 似 地, 面 向 对 象 软 件 系 统 中 的 对 象, 既 然 是 对 现 实 世 界 的 一 种 模 拟, 必 然 也 存 在 着 生 死 问 题 对 象 的 生 与 死, 在 面 向 对 象 的 理 论 中, 称 为 对 象 的 生 存 期 问 题 2014/10/19

More information

Microsoft PowerPoint - 06 - ShengYang Presentation Slides_240609

Microsoft PowerPoint - 06 - ShengYang Presentation Slides_240609 沈 阳 水 务 一 体 化 发 展 的 探 索 水 允 办 简 行 各 资 许 表 要 业 位 很 源 我 示 介 的 嘉 荣 周 代 热 绍 基 宾 幸, 表 烈 一 本 再 女 并 沈 的 下 情 次 士 有 阳 祝 沈 况 来 : 们 机 水 贺 阳 到! 会 务 的 美 先 下 与 集 城 丽 生 面 各 团 市 的, 们 位 对 概 狮 : 我 交 活 况 城 向 流 动 和 大 参 在

More information

黄 永 润 带 队 参 加 市 场 营 销 与 物 流 管 理 培 训 班... 6 黄 永 润 出 席 茶 业 集 团 春 茶 生 产 经 营 分 析 会... 6 大 明 山 茶 文 化 生 态 家 园 项 目 签 约 仪 式 在 邕 举 行... 7 广 西 职 业 技 术 学 院 开 展 庆

黄 永 润 带 队 参 加 市 场 营 销 与 物 流 管 理 培 训 班... 6 黄 永 润 出 席 茶 业 集 团 春 茶 生 产 经 营 分 析 会... 6 大 明 山 茶 文 化 生 态 家 园 项 目 签 约 仪 式 在 邕 举 行... 7 广 西 职 业 技 术 学 院 开 展 庆 ( 第 34 期 ) 广 西 壮 族 自 治 区 农 垦 局 办 公 室 编 2015 年 7 月 9 日 本 期 目 录 重 要 信 息 广 西 农 垦 与 贵 港 市 垦 地 合 作 座 谈 会 在 邕 举 行... 1 广 西 南 方 机 电 技 术 师 资 培 训 与 技 术 服 务 中 心 落 户 广 职 院... 1 刘 刚 到 防 城 精 制 糖 公 司 调 研... 2 糖 业 集

More information

中山市**局2005年部门预算基本情况说明

中山市**局2005年部门预算基本情况说明 中 山 市 文 化 广 电 新 闻 出 版 局 2016 年 部 门 预 算 情 况 一 单 位 基 本 情 况 本 单 位 主 要 履 行 的 公 共 职 能 包 括 : 1 贯 彻 执 行 国 家 和 省 市 有 关 文 化 广 播 电 视 新 闻 出 版 版 权 的 方 针 政 策 和 法 律 法 规, 把 握 正 确 的 舆 论 导 向 和 创 作 导 向 拟 定 文 化 广 播 电 视 新

More information

1811 1884 1847 1860 1862 1871 1875 1823 1884 1851 1876 1878 1879 1880 1884 20 1858 1861 1864 1862

1811 1884 1847 1860 1862 1871 1875 1823 1884 1851 1876 1878 1879 1880 1884 20 1858 1861 1864 1862 1768 1842 1788 1842 1766 1848 1805 1864 1853 1862 1811 1884 1847 1860 1862 1871 1875 1823 1884 1851 1876 1878 1879 1880 1884 20 1858 1861 1864 1862 1833 1884 1855 1861 500 1862 1864 1868 1875 1829 1888

More information

<4D6963726F736F667420576F7264202D203234A8E2A9A4B142ABC3AABAB7C5B1A1ADB1BB50AA6BA8EEADB1>

<4D6963726F736F667420576F7264202D203234A8E2A9A4B142ABC3AABAB7C5B1A1ADB1BB50AA6BA8EEADB1> 專 題 論 述 兩 岸 婚 姻 的 溫 情 面 與 法 制 面 蔡 漢 賢 林 姹 君 壹 引 言 一 九 八 七 年 十 一 月 政 府 開 放 臺 灣 地 區 人 民 赴 大 陸 探 親, 兩 岸 婚 姻 關 係 隨 即 興 起 波 瀾, 舊 有 的 再 續 連 理 枝, 新 增 的 添 加 了 不 少 比 翼 鳥, 兼 之 近 年 臺 商 西 進, 大 陸 成 為 臺 灣 最 大 出 口 市

More information

机动车驾驶证申领和使用规定(公安部令第91号)

机动车驾驶证申领和使用规定(公安部令第91号) 机 动 车 驾 驶 证 申 领 和 使 用 规 定 中 华 人 民 共 和 国 公 安 部 令 第 91 号 现 发 布 修 订 后 的 机 动 车 驾 驶 证 申 领 和 使 用 规 定, 自 2007 年 4 月 1 日 起 施 行 公 安 部 部 长 周 永 康 二 OO 六 年 十 二 月 二 十 日 目 录 第 一 章 总 则 第 二 章 机 动 车 驾 驶 证 的 申 领 第 一 节 机

More information

<4D6963726F736F667420576F7264202D20A2B0A1D0A2B0A1D0A2B0A240A6CBAA4FC554BC4DB7ABA240A7D6AA4FBD6DB2DF2E646F63>

<4D6963726F736F667420576F7264202D20A2B0A1D0A2B0A1D0A2B0A240A6CBAA4FC554BC4DB7ABA240A7D6AA4FBD6DB2DF2E646F63> 節 拍 與 文 字 的 遊 戲 \ 板 眼 旋 律 板 眼 : 傳 統 術 語, 即 節 拍 之 意 以 強 弱 區 別, 強 拍 叫 板, 弱 拍 叫 眼 在 板 書 類 的 曲 種 中, 以 前 半 拍 與 後 半 拍 組 成 一 拍, 結 合 文 字 數 唱, 形 成 各 種 板 式 為 了 學 習 的 方 便, 我 們 將 前 半 拍 叫 板, 後 半 拍 叫 眼 數 唱 : 傳 統 術 語,

More information

Microsoft Word - 02 002207 薪酬管理制度.doc

Microsoft Word - 02 002207 薪酬管理制度.doc 新 疆 准 东 石 油 技 术 股 份 有 限 公 司 薪 酬 管 理 制 度 第 一 部 分 员 工 工 资 管 理 办 法 第 一 条 第 一 章 总 则 为 了 建 立 与 现 代 企 业 制 度 相 适 应 的 薪 酬 分 配 体 系, 调 动 员 工 积 极 性, 提 高 工 作 效 率, 激 励 员 工 为 公 司 创 造 更 高 的 价 值, 增 强 新 疆 准 东 石 油 技 术 股

More information

利 润 预 计 为 360,216.20 万 元 ; 假 设 2016 年 归 属 母 公 司 所 有 者 的 净 利 润 较 2015 年 度 预 测 值 的 基 础 上 增 长 15%, 为 414,248.63 万 元 上 述 利 润 值 不 代 表 公 司 对 未 来 利 润 的 盈 利 预

利 润 预 计 为 360,216.20 万 元 ; 假 设 2016 年 归 属 母 公 司 所 有 者 的 净 利 润 较 2015 年 度 预 测 值 的 基 础 上 增 长 15%, 为 414,248.63 万 元 上 述 利 润 值 不 代 表 公 司 对 未 来 利 润 的 盈 利 预 证 券 代 码 :600177 证 券 简 称 : 雅 戈 尔 公 告 编 号 :2015-078 雅 戈 尔 集 团 股 份 有 限 公 司 关 于 非 公 开 发 行 A 股 股 票 摊 薄 即 期 收 益 及 填 补 措 施 ( 修 订 稿 ) 的 公 告 本 公 司 及 董 事 会 全 体 成 员 保 证 公 告 内 容 的 真 实 准 确 和 完 整, 对 公 告 的 虚 假 记 载 误

More information

<4D6963726F736F667420576F7264202D203033C8ABC8D5D6C6B1BEA1A2D7A8BFC6C9FAD1A7B7D6D6C6D1A7BCAEB9DCC0EDB9E6B6A82E646F63>

<4D6963726F736F667420576F7264202D203033C8ABC8D5D6C6B1BEA1A2D7A8BFC6C9FAD1A7B7D6D6C6D1A7BCAEB9DCC0EDB9E6B6A82E646F63> 上 海 对 外 贸 易 学 院 全 日 制 本 专 科 生 学 分 制 学 籍 管 理 规 定 第 一 章 总 则 第 一 条 为 维 护 学 校 正 常 的 教 学 秩 序, 保 障 学 生 的 学 习 权 利 和 义 务, 规 范 学 籍 管 理 行 为, 根 据 中 华 人 民 共 和 国 高 等 教 育 法 和 教 育 部 普 通 高 等 学 校 学 生 管 理 规 定 等 文 件, 结 合

More information

黄 河 两 岸 耸 立 着 万 丈 高 山 战 士 们 站 在 河 畔 仰 起 头 看, 天 像 一 条 摆 动 的 长 带 子 人 要 站 在 河 两 岸 的 山 尖 上, 说 不 定 云 彩 就 从 耳 边 飞 过, 伸 手 也 能 摸 着 冰 凉 的 青 天 山 峡 中, 浑 黄 的 河 水

黄 河 两 岸 耸 立 着 万 丈 高 山 战 士 们 站 在 河 畔 仰 起 头 看, 天 像 一 条 摆 动 的 长 带 子 人 要 站 在 河 两 岸 的 山 尖 上, 说 不 定 云 彩 就 从 耳 边 飞 过, 伸 手 也 能 摸 着 冰 凉 的 青 天 山 峡 中, 浑 黄 的 河 水 保 卫 延 安 作 者 : 杜 鹏 程 正 文 第 一 章 延 安 字 数 :39132 一 一 九 四 七 年 三 月 开 初, 吕 梁 山 还 是 冰 天 雪 地 西 北 风 滚 过 白 茫 茫 的 山 岭, 旋 转 啸 叫 黄 灿 灿 的 太 阳 光 透 过 干 枯 的 树 枝 -- 照 在 雪 地 上, 花 花 点 点 的 山 沟 里 寒 森 森 的, 大 冰 凌 像 帘 子 一 样 挂 在

More information

Microsoft Word - 雲林縣學校轉型優質計畫.docx

Microsoft Word - 雲林縣學校轉型優質計畫.docx 雲 林 縣 學 校 轉 型 優 質 計 畫 97.06.10 府 教 國 字 第 0970403986 號 函 102.05.23 府 教 國 字 第 1025413652 號 函 修 訂 壹 依 據 : 一 教 育 基 本 法 第 13 條 二 雲 林 縣 政 府 97.06.10 府 教 國 字 第 0970403986 號 函 頒 雲 林 縣 學 校 轉 型 優 質 實 施 計 畫 貳 目 標

More information

<4D6963726F736F667420576F7264202D20BDADCBD5CAA1B9A9CFFABACFD7F7D7DCC9E7BCF2B1A8B5DA3239C6DA2E646F63>

<4D6963726F736F667420576F7264202D20BDADCBD5CAA1B9A9CFFABACFD7F7D7DCC9E7BCF2B1A8B5DA3239C6DA2E646F63> 江 苏 省 供 销 合 作 总 社 简 报 第 29 期 江 苏 省 供 销 合 作 总 社 办 公 室 编 2016 年 8 月 17 日 无 锡 市 农 产 品 经 纪 人 协 会 着 力 提 升 行 业 服 务 功 能 近 年 来, 无 锡 市 农 产 品 经 纪 人 协 会 通 过 构 建 农 产 品 经 纪 人 工 作 平 台, 在 农 民 与 政 府 之 间 农 民 与 市 场 之 间

More information

<4D6963726F736F667420576F7264202D20C3F1D3C3BBFAB3A1BDA8C9E8B9DCC0EDB9E6B6A8B7A2B2BCB8E52E646F63>

<4D6963726F736F667420576F7264202D20C3F1D3C3BBFAB3A1BDA8C9E8B9DCC0EDB9E6B6A8B7A2B2BCB8E52E646F63> 中 国 民 用 航 空 总 局 令 第 129 号 民 用 机 场 建 设 管 理 规 定 已 经 2004 年 10 月 12 日 中 国 民 用 航 空 总 局 局 务 会 议 通 过, 现 予 公 布, 自 2004 年 12 月 1 日 起 施 行 局 长 杨 元 元 二 四 年 十 月 十 二 日 民 用 机 场 建 设 管 理 规 定 第 一 章 总 则 第 一 条 为 加 强 民 用

More information

慈宗彌勒淨土法門的殊勝

慈宗彌勒淨土法門的殊勝 法 明 寺. 台 灣 慈 宗 學 會 印 贈 慈 宗 彌 勒 淨 土 法 門 的 殊 勝 2 目 錄 目 錄 作 者 簡 介 5 自 序 7 彌 勒 淨 土 法 門 初 探 11 彌 勒 淨 土 略 說 31 太 虛 大 師 的 彌 勒 淨 土 思 想 簡 說 -- 慈 宗 三 要 大 意 51 附 錄 印 度 佛 教 瑜 伽 學 之 綱 要 顯 揚 聖 教 論 結 構 試 析 79 太 虛 大 師

More information

5.1施工企业会计核算办法

5.1施工企业会计核算办法 法 规 标 题 : 施 工 企 业 会 计 核 算 办 法 文 号 : 财 会 [2003]27 号 发 文 单 位 : 财 政 部 发 文 日 期 :2003 年 9 月 25 日 实 施 日 期 :2004 年 1 月 1 日 财 政 部 关 于 印 发 施 工 企 业 会 计 核 算 办 法 的 通 知 财 会 (2003)27 号 国 务 院 有 关 部 委, 各 省 自 治 区 直 辖 市

More information

論文全.doc

論文全.doc 1 6 7 2 3 8 4 5 8 9 15 6 28 19 36 ~ 113 7 8 22 23 9 20 25 10 11 1990 28 29 31 32 33 35 36 12 56 13 14 144 6 150 15 16 17 1. 3 2. 18 4 19 5 20 1. 6 21 7 8 22 ( ) ( ) 9 1. 11 12 14 2. 23 24 15 16 25 19 20

More information

专科疾病诊治(十二)

专科疾病诊治(十二) ...1...13...25...43...59...67...70...72...93...99... 105... 115... 125... 137... 184... 198... 200 I 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 3 4 23 24 25 26 27 28 29 30 31 32 33 34

More information

Microsoft Word - 1-3陳詠琳-近代..

Microsoft Word - 1-3陳詠琳-近代.. 近 代 數 字 卦 研 究 考 述 陳 詠 琳 摘 要 所 謂 的 數 字 卦, 乃 指 出 土 文 物 上 某 種 奇 特 的 卜 筮 符 號, 有 學 者 表 示 這 些 符 號 為 數 字, 並 將 之 與 周 易 連 結, 遂 使 此 類 符 號 有 筮 數 易 卦 之 稱, 為 一 門 新 穎 的 易 學 研 究 議 題 張 政 烺 以 奇 數 為 陽, 偶 數 為 陰 的 原 則, 把

More information

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與 程 式 編 写 語 言 在 完 成 這 章 後, 你 將 能 夠 了 解 程 式 編 写 語 言 的 功 能 了 解 高 階 語 言 和 低 階 語 言 之 間 的 分 別 知 道 翻 譯 程 式 的 意 義 和 能 夠 把 翻 譯 程 式 分 類 為 : 匯 編 程 式 編 譯 程 式 和 解 譯 程 式 認 識 不 同 翻 譯 程 式 的 優 點 和 缺 點 程 式 是 指 揮 電 腦 的 指

More information

Microsoft Word - chap10.doc

Microsoft Word - chap10.doc 78 10. Inheritance in C++ 我 們 已 介 紹 了 物 件 導 向 程 式 的 第 一 個 主 要 特 性, 即 程 式 可 模 組 化 成 為 類 別 ( 物 件 ), 類 別 具 有 資 料 封 裝 的 特 性 接 下 來 我 們 要 介 紹 物 件 導 向 程 式 的 另 一 個 主 要 特 性, 那 就 是 類 別 具 有 繼 承 的 功 能 繼 承 就 是 重 複

More information

尽 管 Java 语 言 是 在 C++ 语 言 基 础 上 发 展 起 来 的, 但 是 有 别 于 C++,Java 是 一 种 纯 粹 的 面 向 对 象 语 言 (Object-oriented language) 在 像 Java 这 样 纯 粹 的 面 向 对 象 语 言 中, 所 有

尽 管 Java 语 言 是 在 C++ 语 言 基 础 上 发 展 起 来 的, 但 是 有 别 于 C++,Java 是 一 种 纯 粹 的 面 向 对 象 语 言 (Object-oriented language) 在 像 Java 这 样 纯 粹 的 面 向 对 象 语 言 中, 所 有 玩 转 Object 不 理 解, 就 无 法 真 正 拥 有 歌 德 按 其 实 而 审 其 名, 以 求 其 情 ; 听 其 言 而 查 其 累, 无 使 放 悖 ( 根 据 实 际 明 辨 名 称, 以 便 求 得 真 实 情 况 ; 听 取 言 辞 后 弄 明 它 的 类 别, 不 让 它 混 淆 错 乱 ) 三 玩 转 Object 大 围 山 人 玩 转 Object...1 1. 通

More information

untitled

untitled 1 1.1 1.2 1.3 1.4 1.5 ++ 1.6 ++ 2 BNF 3 4 5 6 7 8 1.2 9 1.2 IF ELSE 10 1.2 11 1.2 12 1.3 Ada, Modula-2 Simula Smalltalk-80 C++, Objected Pascal(Delphi), Java, C#, VB.NET C++: C OOPL Java: C++ OOPL C# C++

More information

Chapter12 Derived Classes

Chapter12   Derived Classes 继 承 -- 派 生 类 复 习 1. 有 下 面 类 的 说 明, 有 错 误 的 语 句 是 : class X { A) const int a; B) X(); C) X(int val) {a=2 D) ~X(); 答 案 :C 不 正 确, 应 改 成 X(int val) : a(2) { 2. 下 列 静 态 数 据 成 员 的 特 性 中, 错 误 的 是 A) 说 明 静 态 数

More information

Microsoft Word - JAVA3.rtf

Microsoft Word - JAVA3.rtf Java2 lesson The aim of this lesson is concept and method. ( 赵 卓 宁 ) 教 学 计 划 学 习 进 度 Java 3 6.1~6.34 内 容 介 绍 教 材 内 容 : 第 六 课 描 绘 的 层 次 和 关 系 主 要 议 程 1. 的 复 用 2. 的 继 承 3. 关 于 多 态 4. 应 用 约 束 ( 封 装 ) 5. 接

More information

30.00% 25.00% 25.00% 22.50% 20.00% 15.00% 12.50% 15.00% 12.50% 10.00% 7.50% 5.00% 2.50% 2.50% 0.00% 文 学 理 学 工 学 法 学 教 育 学 管 理 学 历 史 学 艺 术 学 ( 三 ) 学 生

30.00% 25.00% 25.00% 22.50% 20.00% 15.00% 12.50% 15.00% 12.50% 10.00% 7.50% 5.00% 2.50% 2.50% 0.00% 文 学 理 学 工 学 法 学 教 育 学 管 理 学 历 史 学 艺 术 学 ( 三 ) 学 生 四 川 文 理 学 院 2014 年 本 科 教 学 质 量 报 告 2014 年 来, 在 教 育 主 管 部 门 的 关 怀 指 导 下, 在 学 校 党 政 班 子 的 正 确 领 导 下, 广 大 师 生 员 工 团 结 一 心, 按 照 国 家 中 长 期 教 育 改 革 和 发 展 规 划 纲 要 和 教 育 部 对 办 应 用 型 本 科 的 要 求, 深 入 贯 彻 落 实 学 校

More information

Microsoft PowerPoint - L17_Inheritance_v4.pptx

Microsoft PowerPoint - L17_Inheritance_v4.pptx C++ Programming Lecture 17 Wei Liu ( 刘 威 ) Dept. of Electronics and Information Eng. Huazhong University of Science and Technology May. 2015 Lecture 17 Chapter 20. Object-Oriented Programming: Inheritance

More information

尽 管 Java 语 言 是 在 C++ 语 言 基 础 上 发 展 起 来 的, 但 与 C++ 不 同,Java 是 一 种 纯 粹 的 面 向 对 象 语 言 (Object-oriented language) 在 Java 世 界 中, 所 有 事 物 都 是 Object 1. 通 过

尽 管 Java 语 言 是 在 C++ 语 言 基 础 上 发 展 起 来 的, 但 与 C++ 不 同,Java 是 一 种 纯 粹 的 面 向 对 象 语 言 (Object-oriented language) 在 Java 世 界 中, 所 有 事 物 都 是 Object 1. 通 过 玩 转 Object 不 理 解, 就 无 法 真 正 拥 有 歌 德 按 其 实 而 审 其 名, 以 求 其 情 ; 听 其 言 而 查 其 累, 无 使 放 悖 ( 根 据 实 际 明 辨 名 称, 以 便 求 得 真 实 情 况 ; 听 取 言 辞 后 弄 明 它 的 类 别, 不 让 它 混 淆 错 乱 ) 三 玩 转 Object 大 围 山 人 玩 转 Object...1 1. 通

More information

ICS 01.040.35;35.040 L70 中 华 人 民 共 和 国 国 家 标 准 GB/T AAAA AAAA 智 能 终 端 软 件 平 台 测 试 规 范 操 作 系 统 Test specification for smart terminal software platform -- Operating system ( 征 求 意 见 稿 ) 在 提 交 反 馈 意 见 时,

More information

摘 要 本 校 多 媒 體 設 計 系 與 上 海 戲 劇 學 院 創 意 學 院 在 多 次 聯 繫 交 流 之 下, 已 簽 署 合 作 備 忘 錄, 積 極 尋 求 兩 校 合 作 教 學 與 共 同 創 作 之 機 會 藉 由 本 系 學 生 作 品 腦 殘 公 寓 入 圍 第 五 屆 中

摘 要 本 校 多 媒 體 設 計 系 與 上 海 戲 劇 學 院 創 意 學 院 在 多 次 聯 繫 交 流 之 下, 已 簽 署 合 作 備 忘 錄, 積 極 尋 求 兩 校 合 作 教 學 與 共 同 創 作 之 機 會 藉 由 本 系 學 生 作 品 腦 殘 公 寓 入 圍 第 五 屆 中 出 國 報 告 ( 出 國 類 別 : 其 他 - 國 際 競 賽 ) 中 國 獨 立 遊 戲 節 國 際 學 生 競 賽 及 上 海 戲 劇 學 院 合 作 洽 談 服 務 機 關 : 國 立 臺 中 科 技 大 學 多 媒 體 設 計 系 姓 名 職 稱 : 金 啟 平 專 案 講 師 派 赴 國 家 : 中 國 出 國 期 間 :102.9.14 102.9.17 報 告 日 期 :102.11.20

More information

“百企入校——广西青年企业家协会高校

“百企入校——广西青年企业家协会高校 百 企 入 校 广 西 青 年 企 业 家 协 会 高 校 毕 业 生 就 业 专 场 招 聘 会 信 息 简 介 时 间 :2016 年 6 月 12 日 9:00 14:00 地 点 : 广 西 财 经 学 院 明 秀 校 区 东 区 篮 球 场 ( 南 宁 市 西 乡 塘 区 明 秀 西 路 100 号 ) 面 向 对 象 : 1.2016 届 高 校 毕 业 生 往 届 毕 业 生 2. 服

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

1 1996 263 38 208 1989 846 [ ] 1981 494 [ ] 1981 25 [ ] 1981 31 1971 38 [ ] 1983 1986 11 1987 116 1972 4 475 [ ] 1987 48 50 1993 134 1988 120 [ ] 1986 120 [ ]

More information

Microsoft PowerPoint - Compiler-7 - Runtime Environment.ppt [兼容模式]

Microsoft PowerPoint - Compiler-7 - Runtime Environment.ppt [兼容模式] 本 章 主 要 内 容 运 行 时 环 境 (Runtime Environment) 目 标 程 序 运 行 时 的 活 动 运 行 存 储 的 划 分 静 态 存 储 分 配 栈 式 存 储 分 配 堆 式 动 态 存 储 分 配 LI L. 1 运 行 时 环 境 变 量 名 的 绑 定 完 全 静 态 环 境 FORTRAN 基 于 栈 的 环 境 C C++ Pascal JavaC++

More information

本 课 程 作 为 非 计 算 机 专 业 本 科 通 识 课 程, 是 一 门 理 论 和 实 践 紧 密 结 合 的 实 用 课 程, 内 容 包 括 计 算 机 基 础 部 分 和 程 序 设 计 部 分 计 算 机 基 础 部 分 涵 盖 计 算 机 软 硬 件 组 成 数 制 表 示 操

本 课 程 作 为 非 计 算 机 专 业 本 科 通 识 课 程, 是 一 门 理 论 和 实 践 紧 密 结 合 的 实 用 课 程, 内 容 包 括 计 算 机 基 础 部 分 和 程 序 设 计 部 分 计 算 机 基 础 部 分 涵 盖 计 算 机 软 硬 件 组 成 数 制 表 示 操 计 算 机 基 础 部 程 序 设 计 类 课 程 介 绍 1. Java 语 言 程 序 设 计 Java 简 介 Java 是 一 种 开 放 的 可 以 撰 写 跨 平 台 应 用 程 序 的 面 向 对 象 的 程 序 设 计 语 言 Java 技 术 具 有 卓 越 的 通 用 性 高 效 性 平 台 移 植 性 和 安 全 性, 广 泛 应 用 于 PC 数 据 中 心 科 学 超 级

More information

第 一 部 分 前 言 研 究 前 言 : 楊 逵 是 臺 灣 文 學 史 上 一 位 不 可 或 缺 的 重 要 作 家 他 的 文 學 作 品, 不 論 是 小 說 詩 歌 或 是 戲 劇 等, 都 有 著 相 當 的 社 會 影 響 力 為 深 入 瞭 解 這 位 文 學 巨 人 的 作 品,

第 一 部 分 前 言 研 究 前 言 : 楊 逵 是 臺 灣 文 學 史 上 一 位 不 可 或 缺 的 重 要 作 家 他 的 文 學 作 品, 不 論 是 小 說 詩 歌 或 是 戲 劇 等, 都 有 著 相 當 的 社 會 影 響 力 為 深 入 瞭 解 這 位 文 學 巨 人 的 作 品, 第 四 屆 全 國 高 中 台 灣 人 文 獎 語 文 組 佳 作 壓 不 扁 的 玫 瑰 楊 逵 的 小 說 研 究 私 立 曉 明 女 中 林 岡 儒 陳 璽 安 楊 筠 圃 指 導 老 師 : 施 淑 慧 第 一 部 分 前 言 研 究 前 言 : 楊 逵 是 臺 灣 文 學 史 上 一 位 不 可 或 缺 的 重 要 作 家 他 的 文 學 作 品, 不 論 是 小 說 詩 歌 或 是 戲

More information

广 州 商 学 院 毕 业 生 就 业 质 量 年 度 报 告 (2015 届 ) 广 州 商 学 院 就 业 指 导 中 心 2015 年 12 月 24 日 目 录 前 言 1 一 学 校 简 介 1 二 质 量 年 度 报 告 介 绍 2 第 一 部 分 就 业 状 况 及 分 析 3 一 基 本 情 况 3 ( 一 ) 毕 业 生 分 布 情 况 3 ( 二 ) 初 次 就 业 率 4 二

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc 2 5 8 11 0 1. 13 2. 15 3. 18 1 1. 22 2. 25 3. 27 2 1. 35 2. 38 3. 41 4. 43 5. 48 6. 50 3 1. 56 2. 59 3. 63 4. 65 5. 69 13 22 35 56 6. 74 7. 82 8. 84 9. 87 10. 97 11. 102 12. 107 13. 111 4 114 1. 114 2.

More information

第一编 文明之前的人类

第一编 文明之前的人类 1500 年 前 的 世 界 第 一 编 文 明 之 前 的 人 类 第 一 章 引 言 : 世 界 史 的 性 质 第 二 章 人 类 食 物 采 集 者 第 三 章 人 类 食 物 生 产 者 第 二 编 欧 亚 大 陆 的 古 代 文 明 ( 公 元 前 3500-1000 年 ) 第 四 章 古 代 文 明 的 起 源 第 五 章 古 代 文 明 诸 类 型 第 六 章 古 代 文 明 的

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

Microsoft Word - A200809-686.doc

Microsoft Word - A200809-686.doc 从 内 存 布 局 深 入 剖 析 继 承 与 多 态 匡 翠 芸 武 汉 科 技 大 学 计 算 机 学 院, 湖 北 武 汉 (430065) E-mail: kuciyun@126.com 摘 要 : 在 面 向 对 象 程 序 设 计 中, 使 派 生 类 继 承 基 类 的 虚 函 数, 再 定 义 一 个 指 向 派 生 类 对 象 的 基 类 指 针 可 以 轻 松 实 现 动 态 绑

More information

Microsoft PowerPoint - UMLandOO_20140717 [相容模式]

Microsoft PowerPoint - UMLandOO_20140717 [相容模式] > 統 一 塑 模 語 言 (UML) 語 法 精 要 -- 物 件 導 向 概 念 需 求 分 析 及 系 統 分 析 周 國 華 國 立 屏 東 大 學 會 計 學 系 初 版 :2006/8/4 本 次 修 訂 :2014/7/17 目 錄 主 題 頁 次 智 慧 財 產 權 聲 明 3 物 件 導 向 (OO) 4~5 OO 概 念 : 抽 象

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

❶ 前 言 你 快 樂 嗎? 你 睡 得 好 嗎? 是 否 心 裡 總 是 有 股 揮 之 不 去 的 煩 悶 或 憂 鬱? 是 否 很 難 放 自 己 一 馬? 不 知 道 怎 麼 愛 自 己? 壓 力 可 以 是 生 病 的 原 因, 也 可 以 是 成 長 的 動 力 如 何 面 對 你 內

❶ 前 言 你 快 樂 嗎? 你 睡 得 好 嗎? 是 否 心 裡 總 是 有 股 揮 之 不 去 的 煩 悶 或 憂 鬱? 是 否 很 難 放 自 己 一 馬? 不 知 道 怎 麼 愛 自 己? 壓 力 可 以 是 生 病 的 原 因, 也 可 以 是 成 長 的 動 力 如 何 面 對 你 內 戒 菸 放 輕 鬆 - 壓 力 紓 解 主 辦 單 位 : 國 泰 綜 合 醫 院 新 竹 分 院 講 師 : 陳 秀 芳 社 工 ❶ 前 言 你 快 樂 嗎? 你 睡 得 好 嗎? 是 否 心 裡 總 是 有 股 揮 之 不 去 的 煩 悶 或 憂 鬱? 是 否 很 難 放 自 己 一 馬? 不 知 道 怎 麼 愛 自 己? 壓 力 可 以 是 生 病 的 原 因, 也 可 以 是 成 長 的 動

More information

Wy159.mps

Wy159.mps 第 章 系 统 开 发 方 法 管 理 信 息 系 统 开 发 的 效 率 质 量 成 本 及 用 户 的 满 意 程 度, 除 了 管 理 技 术 等 因 素 外, 还 与 系 统 开 发 方 法 密 切 相 关 管 理 信 息 系 统 从 产 生 到 现 在 已 经 发 展 了 许 多 开 发 方 法, 这 些 开 发 方 法 各 自 遵 循 一 定 的 基 本 思 想, 适 用 于 一 定 的

More information

第2章 物件導向技術導論

第2章 物件導向技術導論 第 2 章 物 件 導 向 技 術 導 論 2-1 程 式 設 計 方 法 2-2 抽 象 資 料 型 態 2-3 物 件 導 向 的 思 維 2-4 物 件 導 向 技 術 的 三 大 觀 念 2-5 物 件 導 向 程 式 語 言 2-1 程 式 設 計 方 法 2-1-1 非 結 構 化 程 式 設 計 2-1-2 程 序 式 與 結 構 化 程 式 設 計 2-1-3 模 組 化 程 式 設

More information

Factory Methods

Factory Methods Factory Methods 工 厂 方 法 eryar@163.com 摘 要 Abstract: 本 文 主 要 是 对 API Design for C++ 中 Factory Methods 章 节 的 翻 译, 若 有 不 当 之 处, 欢 迎 指 正 关 键 字 Key Words:C++ Factory Pattern 一 概 述 Overview 工 厂 方 法 是 创 建 型 模

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

More information

Microsoft Word - ch01.doc

Microsoft Word - ch01.doc 第 1 章 資 產 管 理 的 概 念 一 選 擇 題 D1. 下 列 有 關 資 產 管 理 的 敘 述 何 者 有 誤? (A) 投 資 人 將 資 金 委 由 資 產 管 理 機 構 管 理 (B) 投 資 人 須 承 擔 所 有 的 投 資 風 險 (C) 資 產 管 理 機 構 會 向 投 資 人 收 取 管 理 費 (D) 資 產 管 理 的 契 約 愈 標 準 化, 投 資 門 檻 愈

More information

基于CDIO一体化理念的课程教学大纲设计

基于CDIO一体化理念的课程教学大纲设计 Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授

More information

Strings

Strings Polymorphism and Virtual Functions Cheng-Chin Chiang Virtual Function Basics 多 型 (Polymorphism) 賦 予 一 個 函 數 多 種 意 涵, 存 在 於 同 一 類 別 之 內 祖 先 類 別 與 後 代 類 別 間 物 件 導 向 程 式 設 計 基 本 原 理 虛 擬 函 數 (Virtual Function)

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

相 应 功 能 (5) 再 将 Boy 类 作 为 Girl 类 的 友 元 类, 在 Boy 类 的 某 成 员 函 数 VisitGirl(Girl & ) 中 访 问 Girl 类 的 私 有 成 员, 观 察 编 译 器 给 出 的 信 息 ( 6 ) 删 除 两 个 类 中 的 函 数 V

相 应 功 能 (5) 再 将 Boy 类 作 为 Girl 类 的 友 元 类, 在 Boy 类 的 某 成 员 函 数 VisitGirl(Girl & ) 中 访 问 Girl 类 的 私 有 成 员, 观 察 编 译 器 给 出 的 信 息 ( 6 ) 删 除 两 个 类 中 的 函 数 V 面 向 对 象 程 序 设 计 及 C++ 课 程 实 验 教 学 大 纲 课 程 编 号 : B030001S 课 程 名 称 : 面 向 对 象 程 序 设 计 及 C++ 课 内 总 学 时 : 3 上 机 实 验 学 时 : 8 一 实 验 课 程 的 性 质 目 的 和 任 务 性 质 : 本 实 验 课 程 是 本 科 理 工 科 各 专 业 学 生 的 通 识 基 础 课, 该 实 验

More information

Microsoft Word - 981192001.htm

Microsoft Word - 981192001.htm 098 年 度 11901 電 腦 軟 體 設 計 (JAVA) 乙 級 技 術 士 技 能 檢 定 學 科 測 試 試 題 本 試 卷 有 選 擇 題 80 題, 每 題 1.25 分, 皆 為 單 選 選 擇 題, 測 試 時 間 為 100 分 鐘, 請 在 答 案 卡 上 作 答, 答 錯 不 倒 扣 ; 未 作 答 者, 不 予 計 分 准 考 證 號 碼 : 姓 名 : 單 選 題 :

More information

特殊學生繪本教學工作坊

特殊學生繪本教學工作坊 國 立 台 南 大 學 特 殊 教 育 中 心 特 殊 教 育 性 平 議 題 --- 智 能 障 礙 學 生 性 教 育 研 習 講 義 時 間 :2010/03/27 地 主 承 點 : 國 立 臺 南 大 學 啟 明 苑 E308 辦 : 教 育 部 特 殊 教 育 小 組 辦 : 國 立 臺 南 大 學 特 殊 教 育 中 心 國 立 臺 南 大 學 特 殊 教 育 中 心 特 殊 教 育

More information

( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政

( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政 ( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政 府 关 于 命 名 第 一 批 省 级 生 态 市 第 七 批 省 级 生 态 县 ( 市 区 )

More information

第七讲 继承与多态

第七讲  继承与多态 第 七 章 继 承 与 派 生 1 本 章 主 要 内 容 的 继 承 成 员 的 访 问 控 制 单 继 承 与 多 继 承 派 生 的 构 造 析 构 函 数 成 员 的 标 识 与 访 问 深 度 探 索 2 的 继 承 与 派 生 的 继 承 与 派 生 保 持 已 有 的 特 性 而 构 造 新 的 过 程 称 为 继 承 在 已 有 的 基 础 上 新 增 自 己 的 特 性 而 产 生

More information

1.5招募说明书(草案)

1.5招募说明书(草案) PUBLIC 2014 2 PUBLIC - 1 2014 2 PUBLIC - 2 2014 2 PUBLIC - 3 2014 2 PUBLIC - 4 2014 2 PUBLIC - 5 2014 2 PUBLIC - 6 2014 2 PUBLIC - 7 2014 2 PUBLIC - 8 2014 2 PUBLIC - 9 2014 2 PUBLIC - 10 2014 2 PUBLIC

More information

前言

前言 前 言 亲 爱 的 读 者 同 行 们 教 师 教 养 员 校 长 们! 这 部 著 作 是 多 年 学 校 工 作 经 验 的 总 结, 是 沉 思 焦 虑 担 忧 和 不 安 心 情 的 总 结! 在 一 所 农 村 学 校 身 不 离 校 地 工 作 32 年, 这 对 我 是 无 与 伦 比 的 幸 福 我 把 自 己 的 一 生 献 给 了 孩 子 们, 所 以 考 虑 很 久 之 后 给

More information

<4D6963726F736F667420576F7264202D20CAD9C3FCCAC7D7D4BCBAD2BBB5E3D2BBB5CEC5ACC1A6C0B4B5C4A1AAA1AA41342E646F63>

<4D6963726F736F667420576F7264202D20CAD9C3FCCAC7D7D4BCBAD2BBB5E3D2BBB5CEC5ACC1A6C0B4B5C4A1AAA1AA41342E646F63> 寿 命 是 自 己 一 点 一 滴 努 力 来 的 定 版 前 言 这 本 小 册 子, 在 诸 多 好 友 之 赞 助 下, 终 于 侥 幸 地 得 以 送 入 印 刷 厂, 正 式 付 印 成 书 事 实 上, 以 我 目 前 的 处 境 而 言, 每 月 救 苦 济 贫 之 定 期 定 额 支 出, 已 达 饱 和, 欲 再 拨 款 近 百 万 元 来 印 赠 善 书, 实 在 不 免 捉 襟

More information

中華民國犯罪 - 矯正協會2006年大陸參訪座談心得

中華民國犯罪 - 矯正協會2006年大陸參訪座談心得 中 華 民 國 犯 罪 矯 正 協 會 2006 年 大 陸 參 訪 座 談 心 得 法 務 部 矯 正 人 員 訓 練 所 所 長 黃 徵 男 中 華 民 國 犯 罪 矯 正 協 會 與 中 國 監 獄 學 會 一 年 一 度 交 流 活 動 於 95 年 (2006 年 )10 月 29 日 開 始 為 期 十 天 參 訪 座 談, 今 年 已 是 第 九 年, 輪 由 我 國 赴 大 陸 參

More information

说 : 荀 子 极 偏 驳, 只 一 句 性 恶, 大 本 已 失 5 朱 熹 说 : 荀 扬 不 惟 说 性 不 是, 从 头 到 底 皆 不 识 6 采 取 的 都 是 这 种 理 论 框 架 另 一 种 理 论 框 架 始 于 20 世 纪 前 期, 这 便 是 诸 子 学 研 究 的 框 架

说 : 荀 子 极 偏 驳, 只 一 句 性 恶, 大 本 已 失 5 朱 熹 说 : 荀 扬 不 惟 说 性 不 是, 从 头 到 底 皆 不 识 6 采 取 的 都 是 这 种 理 论 框 架 另 一 种 理 论 框 架 始 于 20 世 纪 前 期, 这 便 是 诸 子 学 研 究 的 框 架 第 一 章 绪 论 1. 问 题 与 文 献 本 文 试 图 探 讨 的 核 心 问 题, 一 言 以 蔽 之, 是 要 理 解 并 诠 释 荀 子 思 想 的 基 本 性 格 先 交 代 研 究 方 法 迄 今 为 止 的 荀 学 研 究 1 大 致 存 在 两 种 研 究 框 架 第 一 种 研 究 框 架 是 理 学 研 究 的 理 论 框 架 2, 该 框 架 主 张 以 孔 孟 作 为 研

More information

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2009 年 下 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

第 一 部 分 语 言 大 师 : 如 何 与 机 器 对 话 到 了 年, 有 一 门 科 学 编 程 语 言 脱 颖 而 出, 它 就 是 约 翰 巴 科 斯 和 他 在 IBM 公 司 的 同 事 合 作 设 计 的 Fortran( 取 自 formula translation 的 缩 写

第 一 部 分 语 言 大 师 : 如 何 与 机 器 对 话 到 了 年, 有 一 门 科 学 编 程 语 言 脱 颖 而 出, 它 就 是 约 翰 巴 科 斯 和 他 在 IBM 公 司 的 同 事 合 作 设 计 的 Fortran( 取 自 formula translation 的 缩 写 约 翰 巴 科 斯 第 一 部 分 语 言 大 师 : 如 何 与 机 器 对 话 假 设 现 在 第 二 次 世 界 大 战 刚 结 束 不 久, 而 你 是 一 位 总 工 程 师, 负 责 一 项 计 算 机 制 造 计 划 你 收 集 了 一 堆 电 线 和 开 关, 任 务 是 构 建 出 一 台 机 器, 以 便 预 测 飞 机 在 空 中 的 飞 行 模 式 鉴 于 当 时 的 技 术

More information

(6) 要 求 付 款 管 理 员 从 预 订 表 中 查 询 距 预 订 的 会 议 时 间 两 周 内 的 预 定, 根 据 客 户 记 录 给 满 足 条 件 的 客 户 发 送 支 付 余 款 要 求 (7) 支 付 余 款 管 理 员 收 到 客 户 余 款 支 付 的 通 知 后, 检

(6) 要 求 付 款 管 理 员 从 预 订 表 中 查 询 距 预 订 的 会 议 时 间 两 周 内 的 预 定, 根 据 客 户 记 录 给 满 足 条 件 的 客 户 发 送 支 付 余 款 要 求 (7) 支 付 余 款 管 理 员 收 到 客 户 余 款 支 付 的 通 知 后, 检 2016 年 上 半 年 软 件 设 计 师 考 试 真 题 ( 下 午 题 ) 下 午 试 题 试 题 一 ( 共 15 分 ) 阅 读 下 列 说 明 和 图, 回 答 问 题 1 至 问 题 4, 将 解 答 填 入 答 题 纸 的 对 应 栏 内 说 明 某 会 议 中 心 提 供 举 办 会 议 的 场 地 设 施 和 各 种 设 备, 供 公 司 与 各 类 组 织 机 构 租 用 场

More information

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B 25 9 2008 9 M ICROEL ECTRON ICS & COMPU TER Vol. 25 No. 9 September 2008 J ava 1,2, 1,2, 1,2 (1, 330022 ; 2, 330022) :,. Apla - Java,,.. : PAR ;Apla - Java ; ;CMP ; : TP311 : A : 1000-7180 (2008) 09-0018

More information

Chapter 1 What is Programing Paradigm 1

Chapter 1 What is Programing Paradigm 1 An Introduction to Programing Paradigm Chase Zhang May 8, 2013 Chapter 1 What is Programing Paradigm 1 CHAPTER 1. WHAT IS PROGRAMING PARADIGM 2 Definition from Wikipedia 1. Object-oriented programming/

More information

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF> 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 考 试 2009 年 上 半 年 软 件 设 计 师 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答

More information

untitled

untitled http://idc.hust.edu.cn/~rxli/ 1.1 1.2 1.3 1.4 1.5 1.6 2 1.1 1.1.1 1.1.2 1.1.3 3 1.1.1 Data (0005794, 601,, 1, 1948.03.26, 01) (,,,,,) 4 1.1.1 Database DB 5 1.1.1 (DBMS) DDL ( Create, Drop, Alter) DML(

More information

時 間 : 180 分 鐘 四 考 試 特 點 (a) 程 式 易 懂 撰 寫 簡 單, 不 必 經 過 長 時 間 的 課 程 訓 練 (b) 物 件 導 向 的 程 式 設 計, 將 重 點 擺 在 資 料 介 面 的 技 巧 (c)java 有 一 個 很 完 善 且 分 散 式 的 程 式

時 間 : 180 分 鐘 四 考 試 特 點 (a) 程 式 易 懂 撰 寫 簡 單, 不 必 經 過 長 時 間 的 課 程 訓 練 (b) 物 件 導 向 的 程 式 設 計, 將 重 點 擺 在 資 料 介 面 的 技 巧 (c)java 有 一 個 很 完 善 且 分 散 式 的 程 式 SCJP(Oracle Certified Professional, Java SE5.0 Programmer) 國 際 能 力 認 證 學 制 / 班 級 : 日 間 部 四 年 制 / 網 通 四 乙 指 導 老 師 : 方 信 普 老 師 學 生 學 號 / 姓 名 :49636108/ 王 順 聖 繳 交 年 月 份 : 民 國 100 年 6 月 一 Java 認 證 和 SCJP5.0

More information

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的 ( 申 报 稿 ) 主 办 券 商 二 零 一 六 年 四 月 声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的 负 责 人 会 计 机 构 负 责

More information

2009年下半年软件设计师下午试题

2009年下半年软件设计师下午试题 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2009 年 下 半 年 软 件 设 计 师 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2.

More information

生 产 商 直 接 提 供, 增 加 手 机 的 销 售 卖 点 早 期 最 为 火 热 的 游 戏 非 贪 食 蛇 莫 属, 纯 单 机 游 戏 从 诺 基 亚 6110 的 开 始, 大 约 4 亿 部 手 机 内 置 了 贪 吃 蛇 游 戏, 这 让 其 成 为 史 上 传 播 最 广 的 手

生 产 商 直 接 提 供, 增 加 手 机 的 销 售 卖 点 早 期 最 为 火 热 的 游 戏 非 贪 食 蛇 莫 属, 纯 单 机 游 戏 从 诺 基 亚 6110 的 开 始, 大 约 4 亿 部 手 机 内 置 了 贪 吃 蛇 游 戏, 这 让 其 成 为 史 上 传 播 最 广 的 手 中 国 移 动 游 戏 行 业 分 析 报 告 东 吴 证 券 李 林 俊 移 动 游 戏 是 指 以 手 机 平 板 等 移 动 智 能 终 端 为 运 行 载 体, 通 过 移 动 网 络 供 公 众 下 载 或 者 在 线 交 互 使 用 的 游 戏 作 品 移 动 游 戏 具 有 携 带 便 利 操 作 简 单 社 会 交 互 性 的 特 点 移 动 游 戏 的 最 主 要 组 成 部 分

More information

5 衡 量 本 綱 領 內 各 項 服 務 表 現 的 準 則 主 要 有 : 目 標 目 標 包 括 : 盡 量 調 派 各 陸 上 總 區 編 制 內 的 軍 裝 人 員 往 前 線 執 行 行 動 職 務 ; 把 紀 律 人 員 處 理 行 政 工 作 的 情 況 盡 可 能 減 至 最 少,

5 衡 量 本 綱 領 內 各 項 服 務 表 現 的 準 則 主 要 有 : 目 標 目 標 包 括 : 盡 量 調 派 各 陸 上 總 區 編 制 內 的 軍 裝 人 員 往 前 線 執 行 行 動 職 務 ; 把 紀 律 人 員 處 理 行 政 工 作 的 情 況 盡 可 能 減 至 最 少, 管 制 人 員 : 香 港 警 務 處 處 長 會 交 代 本 總 目 下 的 開 支 二 OO 四 至 O 五 年 度 預 算... 二 OO 四 至 O 五 年 度 的 編 制 上 限 ( 按 薪 級 中 點 估 計 的 年 薪 值 ) 相 等 於 由 二 OO 四 年 三 月 三 十 一 日 預 算 設 有 的 33 790 個 非 首 長 級 職 位, 減 至 二 OO 五 年 三 月 三

More information

Agenda 大 纲 FIFO data-structures 先 进 先 出 ( FIFO) 数 据 结 构 (= First In First Out) Heap data-structures 堆 结 构 Non-static methods 非 静 态 方 法 (= object metho

Agenda 大 纲 FIFO data-structures 先 进 先 出 ( FIFO) 数 据 结 构 (= First In First Out) Heap data-structures 堆 结 构 Non-static methods 非 静 态 方 法 (= object metho Java 编 程 与 算 法 实 用 入 门 A Concise and Practical Introduction to Programming Algorithms in Java Chapter 8: Data-structures and object methods 第 8 章 : 数 据 结 构 和 对 象 的 方 法 1 Agenda 大 纲 FIFO data-structures

More information

花 名 : 君 山 真 名 : 许 令 波 博 客 :http://xulingbo.net 微 博 :@ 淘 宝 君 山 邮 箱 :xulingbo0201@163.com 简 介 :2009 年 毕 业 加 入 淘 宝, 一 直 在 做 淘 宝 商 品 详 情 系 统 的 团 队 做 开 发 和

花 名 : 君 山 真 名 : 许 令 波 博 客 :http://xulingbo.net 微 博 :@ 淘 宝 君 山 邮 箱 :xulingbo0201@163.com 简 介 :2009 年 毕 业 加 入 淘 宝, 一 直 在 做 淘 宝 商 品 详 情 系 统 的 团 队 做 开 发 和 君 山 GreenTeaJUG 2013-2-23 花 名 : 君 山 真 名 : 许 令 波 博 客 :http://xulingbo.net 微 博 :@ 淘 宝 君 山 邮 箱 :xulingbo0201@163.com 简 介 :2009 年 毕 业 加 入 淘 宝, 一 直 在 做 淘 宝 商 品 详 情 系 统 的 团 队 做 开 发 和 性 能 优 化 方 面 的 工 作, 开 发 过

More information

本 书 基 于 GNU Free Documentation License, Version 1.2 Or Any Later 1 发 布, 你 可 以 自 由 修 改 并 发 布 本 文 档, 但 不 得 当 它 用.. 第 一 部 分 书 前 前 言 大 师 的 禅 语 并 非 一 无 所 指

本 书 基 于 GNU Free Documentation License, Version 1.2 Or Any Later 1 发 布, 你 可 以 自 由 修 改 并 发 布 本 文 档, 但 不 得 当 它 用.. 第 一 部 分 书 前 前 言 大 师 的 禅 语 并 非 一 无 所 指 GameRes 游 戏 开 发 资 源 网 http://www.gameres.com: Abstract in Computer Science and Programming 4th Writen By Minlearn Frequently Updated @ http://thousandd.appspot.com/ 版 本 历 史 : 版 本 详 情 日 期 Ver0 初 步 写 出 了

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

软件设计师

软件设计师 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2009 年 下 半 年 软 件 设 计 师 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2.

More information

关于收购晋城兰花大宁煤炭有限公司持有的

关于收购晋城兰花大宁煤炭有限公司持有的 2005 2005 1 2005 2 2005 3 4 5 6 OO 1 2005 2005 X O 2 2005 2005 : 2005 6 16 1 2 < > 3 < > 4 3 2005 1 9900, 99% 100 1% 18 30 8.4 2.6 5.8, 3 2 29900 99.67% 100 0.33% 4 2005 2004, 5 2005 6 2005, 7 2005 20%

More information

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语

More information

多層次傳銷與獎金系統

多層次傳銷與獎金系統 醒 吾 技 術 學 院 資 訊 管 理 系 ( 五 專 部 ) 九 十 六 學 年 度 畢 業 專 題 多 層 次 傳 銷 與 獎 金 系 統 組 員 : 921506122 游 濬 瑋 921506126 陳 彥 宇 921506139 林 龍 華 921506144 陳 昶 志 921506149 楊 璧 如 指 導 老 師 : 汪 淵 老 師 中 華 民 國 九 十 七 年 一 月 十 一 醒

More information

目 录 实 验 一 : 熟 悉 Java 开 发 环 境... 1 实 验 二 : 类 与 面 向 对 象... 7 实 验 三 : 继 承 和 多 态... 13 实 验 四 : 异 常 处 理... 18 实 验 五 : 流 文 件 及 基 于 文 本 的 应 用... 23

目 录 实 验 一 : 熟 悉 Java 开 发 环 境... 1 实 验 二 : 类 与 面 向 对 象... 7 实 验 三 : 继 承 和 多 态... 13 实 验 四 : 异 常 处 理... 18 实 验 五 : 流 文 件 及 基 于 文 本 的 应 用... 23 Java 程 序 设 计 实 验 指 导 书 商 丘 学 院 计 算 机 科 学 与 技 术 学 院 张 艳 晓 目 录 实 验 一 : 熟 悉 Java 开 发 环 境... 1 实 验 二 : 类 与 面 向 对 象... 7 实 验 三 : 继 承 和 多 态... 13 实 验 四 : 异 常 处 理... 18 实 验 五 : 流 文 件 及 基 于 文 本 的 应 用... 23 实 验

More information

目 录.doc

目      录.doc 目 录 概 述 第 一 篇 资 源 第 一 章 土 地 资 源..(17) 第 二 章 气 候 资 源..(20) 第 三 章 矿 产 资 源..(22) 第 四 章 植 物 资 源..(25) 第 五 章 动 物 资 源..(27) 第 六 章 水 资 源..(29) 第 七 章 旅 游 资 源..(30) 第 八 章 劳 动 力 资 源..(34) 第 二 篇 计 划 编 制 与 执 行 第 一

More information