06.01.2015 Views

第一章C#語言基礎

第一章C#語言基礎

第一章C#語言基礎

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

串 填 到 {0} 位 置 , 將 第 三 個 參 數 變 數 age 變 為 字 串 填 到 {1} 位 置 , 將 第 一 個 參 數 表 示 的 字 串 在 顯<br />

示 器 上 輸 出 。<br />

大 家 注 意 , 這 裡 我 們 實 際 定 義 了 一 個 新 的 資 料 型 別 , 為 用 戶 自 己 定 義 的 資 料 型 別 , 是 對 個<br />

人 的 特 性 和 行 為 的 描 述 , 型 別 名 為 Person, 它 和 int、char 等 一 樣 , 為 一 種 資 料 型 別 。 用 定 義<br />

新 資 料 型 別 Person 類 的 方 法 把 資 料 和 處 理 資 料 的 函 數 封 裝 起 來 。 類 的 宣 告 格 式 如 下 :<br />

屬 性 類 修 飾 字 class 類 名 { 類 體 }<br />

其 中 , 關 鍵 字 class、 類 名 和 類 體 是 必 須 的 , 其 它 項 是 可 選 項 , 類 修 飾 字 包 括 new、public、<br />

protected、internal、private、abstract 和 sealed, 這 些 類 修 飾 字 以 後 介 紹 , 類 體 用 於 定 義 類 的<br />

成 員 。<br />

1.3.2 類 成 員 的 存 取 控 制<br />

一 般 希 望 類 中 一 些 資 料 不 被 隨 意 修 改 , 只 能 按 指 定 方 法 修 改 , 既 隱 蔽 一 些 資 料 , 同 時 這 些<br />

函 數 也 不 希 望 被 其 它 類 程 序 調 用 , 只 能 在 類 內 部 使 用 。 如 何 解 決 這 個 問 題 呢 可 用 存 取 權 限 控<br />

制 字 , 常 用 的 存 取 權 限 控 制 字 如 下 :private( 私 有 )、public( 公 有 )。 在 資 料 成 員 或 函 數 成 員 前 增<br />

加 存 取 權 限 控 制 字 , 可 以 指 定 該 資 料 成 員 或 函 數 成 員 的 存 取 權 限 。<br />

私 有 資 料 成 員 只 能 被 類 內 部 的 函 數 使 用 和 修 改 , 私 有 函 數 成 員 只 能 被 類 內 部 的 其 它 函 數 調<br />

用 。 類 的 公 有 函 數 成 員 可 以 被 類 的 外 部 程 序 調 用 , 類 的 公 有 資 料 成 員 可 以 被 類 的 外 部 程 序 直 接<br />

使 用 修 改 。 公 有 函 數 實 際 是 一 個 類 和 外 部 通 訊 的 介 面 , 外 部 函 數 通 過 調 用 公 有 函 數 , 按 照 預 先<br />

設 定 好 的 方 法 修 改 類 的 私 有 成 員 。 對 於 上 述 例 子 ,name 和 age 是 私 有 資 料 成 員 , 只 能 通 過 公<br />

有 函 數 SetName() 和 SetAge() 修 改 , 即 它 們 只 能 按 指 定 方 法 修 改 。<br />

這 裡 再 一 次 解 釋 一 下 封 裝 , 它 有 兩 個 意 義 , 第 一 是 把 資 料 和 處 理 資 料 的 方 法 同 時 定 義 在 類<br />

中 。 第 二 是 用 存 取 權 限 控 制 字 使 資 料 隱 蔽 。<br />

1.3.3 類 的 對 象<br />

Person 類 僅 是 一 個 用 戶 新 定 義 的 資 料 型 別 , 由 它 可 以 生 成 Person 類 的 實 例 ,C# 語 言 叫 對<br />

象 ( 或 翻 譯 為 物 件 )。 用 如 下 方 法 宣 告 類 的 對 象 :Person OnePerson=new Person();, 此 語 句 的 意<br />

義 是 建 立 Person 類 對 象 , 返 回 對 象 地 址 指 派 給 Person 類 變 數 OnePerson。 也 可 以 分 兩 步 產<br />

生 Person 類 的 對 象 :Person OnePerson;OnePerson = new Person();OnePerson 雖 然 儲 存 的 是<br />

Person 類 對 象 地 址 , 但 不 是 C 中 的 指 標 , 不 能 像 指 標 那 樣 可 以 進 行 加 減 運 算 , 也 不 能 轉 換 為<br />

其 它 型 別 地 址 , 它 是 參 照 型 別 變 數 , 只 能 參 照 ( 引 用 )Person 對 象 , 具 體 意 義 參 見 以 後 章 節 。 和<br />

C、C++ 不 同 ,C# 只 能 用 此 種 方 法 生 成 類 對 象 。<br />

在 程 序 中 , 可 以 用 「OnePerson. 方 法 名 」 或 「OnePerson. 資 料 成 員 名 」 存 取 對 象 的 成 員 。<br />

例 如 :OnePerson.Display(), 公 用 資 料 成 員 也 可 以 這 樣 存 取 。 注 意 ,C# 語 言 中 不 包 括 C++ 語 言<br />

中 的 -> 符 號 。<br />

6

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

Saved successfully!

Ooh no, something went wrong!