全文與附圖請參考:
http://www.hsdc.com.tw/modules/newbb/viewtopic.php?viewmode=flat&topic_id=158&forum=1

將 具有共同特性(包括屬性與操作)的一群物件的集合(sets),抽象化後稱之為類別(class)。分類可以說是物件導向的本質,因為這是解決軟體複雜度 的最根本道理,軟體設計者將物件 “分門別類”,才能層次分明、井然有序的管理好在系統內各司其職、各負其責的眾生物件,也因為系統就是藉由各類型物件的互動、分工合作,才能完成越來越形 複雜、所被賦予的一個個工作與任務。

那麼,又如何作分類? 分類其實是萬物與生俱來的本能。例如,看到電子琴、吉他、笛子等物件,自然而然就會聯想它們都是屬於 “樂器” 這個類別。那麼,電子琴是否也可以視為是單獨的一個類別? 當然可以! 當你想區別 “電子琴” 這個類別與其它也是屬於樂器、但卻又有個別的特色,如 “吉他” 類別時,就會將 “樂器” 這個類別再細分至 “電子琴”、”吉他”、”笛子” 等類別。當作了更細部的類別界定後,當你看到 “老賴家買了一部 Yamaha 電子琴”,就會知道這個物件是屬於 “電子琴” 這個類別,而不會是 “吉他” 這個類別了。另一個例子,跑去 “阿珠貓狗鳥兒專賣店”,你會看到 “各類” 的動物,然後,你會想成牠們 “都是”(抽象化) “寵物”(共同的類別),但,你該不會稱這些動物為 “禽獸” 吧? 這也代表著,分類會依據普遍價值觀的概念,找出適當的術語,來為其分類。

只有人類會分類嗎? 前述提及,分類絕對是萬物的本能。例如,跑去六福村隔著巴士車窗看一大群狒狒們,牠們會聚在一起,然後也隔著車窗看著你,如果你敢打開車窗,甚至跑出去,這些狒狒們鐵定會 “毆打” 你,因為牠們知道你是 “非我族類”,是兩種區隔明確的類別。

是 否可以對類別作明確的定義與描述? 依據 J.Martin & J.Odell 的 “概念三部曲(concept triad)”,可以利用三角形的圖形表示法,將類別以內涵(intension)與延伸(extension)兩種表達方式,來作更為明確的定義及描 述。例如,要解釋與定義 “車子” 這個類別:

“車子是可以在陸地上行進及載人的交通工具。”
“腳踏車、摩托車、汽車、巴士、坦克車 …等,都是車子的一種。”

① 是以定義的方式來表達類別,這樣的方式稱為 “內涵(intension)”; ② 則是以實際的實體為例,來說明類別,這樣的方式稱為 “延伸(entension)”,兩者都是類別的表示法,以 “概念三部曲” 的表達方式如下圖。

圖、範例—定義類別的概念三部曲表示法