Page 15 -
P. 15
第一章 認識程式語言
萊絲.吸氣()
萊絲.吐氣()
/* 而當狗的吠叫被封裝到類別中,任何人都可以簡單地使用: */
定義萊絲是狗
萊絲.吠叫()
封裝是通過限制只有特定類別的物件可以存取這一特定類別的成員,而它
們通常利用介面實作訊息的傳入傳出。舉個例子,介面能確保幼犬這一特
徵只能被賦予狗這一類別。通常來說,成員會依它們的存取權限被分為 3
種:公有成員、私有成員以及保護成員。有些語言更進一步:Java 可以限
制同一包內不同類別的存取;C#和 VB.NET 保留了為類別的成員聚集準備
的關鍵字:internal(C#)和 Friend(VB.NET)
(五)多型:多型(Polymorphism)是指由繼承而產生的相關的不同的類別,其物件對同
一訊息會做出不同的響應。例如,狗和雞都有「叫()」這一方法,但是呼叫
狗的「叫()」,狗會吠叫;呼叫雞的「叫()」,雞則會啼叫。 我們將它體現
在虛擬碼上:
類別狗
開始
公有成員:
叫()
開始
吠叫()
結束
結束
類別雞
開始
公有成員:
叫()
開始
啼叫()
結束
結束
定義萊絲是狗
定義魯斯特是雞
11