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.

1.3.4 類 的 建 構 函 數 和 解 構 函 數<br />

在 建 立 類 的 對 象 時 , 需 做 一 些 初 始 化 工 作 , 例 如 對 資 料 成 員 初 始 化 。 這 些 可 以 用 建 構 函 數<br />

來 完 成 。 每 當 用 new 生 成 類 的 對 象 時 , 自 動 調 用 類 的 建 構 函 數 。 因 此 , 可 以 把 初 始 化 的 工 作<br />

放 到 建 構 函 數 中 完 成 。 建 構 函 數 和 類 名 相 同 , 沒 有 返 回 值 。 例 如 可 以 定 義 Person 類 的 建 構 函<br />

數 如 下 :<br />

建 構 函 數 , 函 數 名 和 類 同 名 , 無 返 回 值 的<br />

// 類<br />

public Person(string Name, int Age)<br />

。<br />

{<br />

}<br />

name = Name;<br />

age = Age;<br />

當 用 Person OnePerson=new Person(" 張 五 ",20) 語 句 生 成 Person 類 對 象 時 , 將 自 動 調 用<br />

以 上 建 構 函 數 。 請 注 意 如 何 把 參 數 傳 遞 給 建 構 函 數 。<br />

變 數 和 類 的 對 象 都 有 生 命 期 , 生 命 期 結 束 , 這 些 變 數 和 對 象 就 要 被 撤 銷 。 類 的 對 象 被 撤 銷<br />

時 , 將 自 動 調 用 解 構 函 數 。 一 些 善 後 工 作 可 放 在 解 構 函 數 中 完 成 。 解 構 函 數 的 名 字 為 「~ 類 名 」,<br />

無 返 回 型 別 , 也 無 參 數 。Person 類 的 解 構 函 數 為 ~Person()。C# 中 類 解 構 函 數 不 能 顯 式 地 被 調<br />

用 , 它 是 被 垃 圾 收 集 器 撤 銷 不 被 使 用 的 對 象 時 自 動 調 用 的 。<br />

1.3.5 類 的 建 構 函 數 的 多 載<br />

在 C# 語 言 中 , 同 一 個 類 中 的 函 數 , 如 果 函 數 名 相 同 , 而 參 數 型 別 或 個 數 不 同 , 認 為 是 不<br />

同 的 函 數 , 這 叫 函 數 多 載 。 僅 返 回 值 不 同 , 不 能 看 作 不 同 的 函 數 。 這 樣 , 可 以 在 類 定 義 中 , 定<br />

義 多 個 建 構 函 數 , 名 字 相 同 , 參 數 型 別 或 個 數 不 同 。 根 據 生 成 類 的 對 象 方 法 不 同 , 調 用 不 同 的<br />

建 構 函 數 。 例 如 可 以 定 義 Person 類 沒 有 參 數 的 建 構 函 數 如 下 :<br />

建 構 函 數 , 函 數 名 和 類 同 名 , 無 返 回 型 別 。 的<br />

// 類<br />

public Person()<br />

{<br />

}<br />

name = " 張<br />

";<br />

age = 12;<br />

三<br />

用 語 句 Person OnePerson=new Person(" 李 四 ", 30) 生 成 對 象 時 , 將 調 用 有 參 數 的 建 構 函 數 ,<br />

而 用 語 句 Person OnePerson=new Person() 生 成 對 象 時 , 調 用 無 參 數 的 建 構 函 數 。 由 於 解 構 函 數<br />

無 參 數 , 因 此 , 解 構 函 數 不 能 多 載 。<br />

7

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

Saved successfully!

Ooh no, something went wrong!