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.

現 的 。C# 語 言 的 方 法 多 載 以 及 運 算 子 多 載 和 C++ 語 言 的 基 本 一 致 。<br />

第 二 種 是 執 行 時 的 多 形 性 , 是 在 系 統 執 行 時 , 不 同 對 象 調 用 一 個 名 字 相 同 , 參 數 的 型 別 及<br />

個 數 完 全 一 樣 的 方 法 , 會 完 成 不 同 的 操 作 。C# 執 行 時 的 多 形 性 通 過 虛 方 法 實 現 。 在 類 的 方 法 宣<br />

告 前 加 上 了 virtual 修 飾 符 , 被 稱 之 為 虛 方 法 , 反 之 為 非 虛 方 法 。C# 語 言 的 虛 方 法 和 C++ 語 言 的<br />

基 本 一 致 。 下 面 的 例 子 說 明 了 虛 方 法 與 非 虛 方 法 的 區 別 :<br />

using System;<br />

class A<br />

{<br />

}<br />

public void F()// 虛 方 法 非<br />

{ Console.Write(" A.F"); }<br />

法 方<br />

public virtual void G()// 虛<br />

{ Console.Write(" A.G"); }<br />

class B: A//A 類<br />

{<br />

}<br />

B 類 的 基 類 為<br />

new public void F()// 基 類 的 同 名 非 虛 方 法 F(), new 注 意 使 用 蓋 覆<br />

{ Console.Write(" B.F"); }<br />

基 類 的 同 名 虛 方 法 G(), 蓋<br />

public override void G()// 覆<br />

{ Console.Write(" B.G"); }<br />

class Test<br />

{<br />

}<br />

static void F2(A aA)// A , 參 數 為 意 注<br />

{ aA.G();}<br />

static void Main()<br />

{<br />

}<br />

B b = new B();<br />

A a1 = new A();<br />

基 類 參 照 變 數 引 用 衍 生 類 對 象 許<br />

A a2 = b;//<br />

A 基 類 用 允<br />

a1.F();// 調<br />

a2.F();//F() 為<br />

b.F();//F() 為<br />

a1.G();//G() 為<br />

a2.G();/*G() 為<br />

F2(b);// 實<br />

F2(a1);// 實<br />

非 虛 方 顯 基 的 非 虛 方 法 , 調 用 衍 生 的<br />

對<br />

對<br />

F(), 法<br />

引<br />

引<br />

調<br />

由<br />

意 使 注<br />

參 照 變 數 類<br />

A.F<br />

F(),<br />

F(), 的 顯 示<br />

對<br />

對<br />

,a2 引<br />

A A.F<br />

B B.F 示 類<br />

顯 類 調 aA=b,<br />

用 override<br />

B 生 類 對 衍 用<br />

的<br />

的<br />

b 象<br />

的 顯 顯<br />

*/<br />

39<br />

a1 法 , 因 方 虛<br />

A 類 基 用<br />

A 調 用 基 類 , 象<br />

G(),<br />

示 A.G<br />

a2 法 , 因 方 虛<br />

B 生 類 衍 用<br />

B 調 用 衍 生 類 , 象<br />

G(),<br />

示 B.G<br />

B 衍 生 類 為 參<br />

象 ,<br />

於 A<br />

B 生 類 衍 用<br />

G(), 數 函<br />

示 B.G<br />

A 基 類 為 參<br />

象 ,<br />

用 A<br />

G(), 數 函 的<br />

示 A.G

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

Saved successfully!

Ooh no, something went wrong!