13.07.2015 Views

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

我 们 暂 时 废 除 严 格 的 引 用 , 因 为 不 这 样 的 话 我 们 就 不 能 把 符 号 名 全 名 用 于 包 的 全 局 量 。 这 是绝 对 有 道 理 的 : 因 为 所 有 定 义 的 包 变 量 都 存 活 在 一 个 包 里 , 通 过 该 包 的 符 号 表 访 问 它 们 是 没什 么 错 的 。另 外 一 个 方 法 是 令 对 象 需 要 的 所 有 东 西 —— 甚 至 它 的 全 局 类 数 据 —— 都 可 以 由 该 对 象 访 问( 或 者 可 以 当 作 参 数 传 递 )。 要 实 现 这 些 功 能 , 你 通 常 不 得 不 为 每 个 类 都 做 一 个 精 制 的 构 造器 , 或 者 至 少 要 做 一 个 构 造 器 可 以 调 用 的 精 制 的 初 始 化 过 程 。 在 构 造 器 或 者 初 始 化 器 里 , 你把 对 任 何 类 数 据 的 引 用 直 接 保 存 在 该 对 象 本 身 里 面 , 这 样 就 没 有 什 么 东 西 需 要 查 看 它 们 了 。访 问 器 方 法 使 用 该 对 象 来 查 找 到 数 据 的 引 用 。不 要 把 定 位 类 数 据 的 复 杂 性 放 到 每 个 方 法 里 , 只 要 让 对 象 告 诉 方 法 数 据 在 哪 里 就 可 以 了 。 这个 办 法 只 有 在 类 数 据 指 示 器 方 法 被 当 作 实 例 方 法 调 用 的 时 候 才 好 用 , 因 为 类 数 据 可 能 在 一 个你 用 包 名 字 无 法 访 问 到 的 词 法 范 围 里 。不 管 你 是 怎 么 看 待 它 , 与 包 相 关 的 类 数 据 总 是 有 点 难 用 。 继 承 一 个 类 数 据 的 指 示 器 方 法 的 确更 清 晰 一 些 , 你 同 样 有 效 地 继 承 了 它 能 够 访 问 的 状 态 数 据 。 参 阅 perltootc 手 册 页 获 取 管理 类 数 据 的 更 多 更 灵 活 的 方 法 。12.9 总 结除 了 其 他 东 西 以 外 , 大 概 就 这 么 多 东 西 了 。 现 在 你 只 需 要 走 出 去 买 本 关 于 面 向 对 象 的 设 计 方法 学 的 书 , 然 后 再 花 N 个 月 的 时 间 来 学 习 它 就 行 了 。第 十 三 章 重 载对 象 非 常 酷 , 但 有 时 候 它 有 点 太 酷 了 。 有 时 候 你 会 希 望 它 表 现 得 少 象 一 点 对 象 而 更 象 普通 的 数 据 类 型 一 点 。 但 是 实 现 这 个 却 有 问 题 : 对 象 是 用 引 用 代 表 的 引 用 , 而 引 用 除 了 当 引 用以 外 没 什 么 别 的 用 途 。 你 不 能 在 引 用 上 做 加 法 , 也 不 能 打 印 它 们 , 甚 至 也 不 能 给 它 们 使 用 许多 <strong>Perl</strong> 的 内 建 操 作 符 。 你 能 做 的 唯 一 一 件 事 就 是 对 它 们 解 引 用 。 因 此 你 会 发 现 自 己 在 写 许多 明 确 的 方 法 调 用 , 象 :print $object->as_string;$new_object = $subject->add($object);329

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!