1. 類別是資料型態
我們常說,3 是一個整數,這句話表達了:3 是物件,而整數是類別。若用電腦的術語,就相當於:3 是一項資料,其型態是「整數」。傳統BASIC 提供了:字串、整數及實數共3 種資料型態。亦即BASIC 已定義了3 類別──
字串、整數及實數,各代表一群體。例如:
- "Beer"是一個字串 ==> "Beer" 是字串類別之物件。
- 888 是一個整數 ==> 888 是整數類別之物件。
- -25.25是一個實數 ==> -25.25 是實數類別之物件。
像傳統的C語言(或其他語言)不允許創造新類別,您只能利用這3 種類別來描述自然界中的各式各樣物件。在OOP 語言中,您能無限制地創造新類別,裨完整地表達自然界的各種物件。就像傳統的BASIC語言,其資料分為:常數(Constant)與變數(Variable)。然而,在OOP 語言中,您能無限制地創造新類別,裨完整地表達自然界的各種物件(Object)。
2. 類別之用途:描述物件之特徵與行為
軟體中之物件為自然界物件之抽象表示,只表達了其重要特徵與行為,而忽略了細節部分。至於那些是重要特徵和行為呢﹖程式中必須加以說明。同類別之物件具有共同的重要特徵與行為,因之可由類別統一說明個體應表達那些特徵和行為。也就是說,類別統一說明了物件應含那些「資料」(Data)和那些「函數」(Func
tion)。例如:
Python已定義的「實數」類別,其說明了「實數」之物件皆含有+ 、- 、* 、/ 等基本運算(行為),凡實數之物件皆能做這些運算。再如字串類別,其物件之共同行為不包括 / 、 ^ 運算,所以下述程式錯了。
於是,輸出了錯誤訊息:
因為"/" 運算並非字串類別內物件之共同行為,所以a無法接受訊息──「/ 3 」。同理,如果我們創造了新類別──「花(Flower)」,且定義如下:
這就是「花」類別之定義,它說明了:
◎「花」類別內之物件皆具兩項共同特徵:
◇ name
◇ age
◎「花」類別之物件皆具兩項共同行為:
◇ cry()
◇ say()
其中,同類別之物件其特徵和行為是一致的,所以只須在類別定義中統一說明之,不必對物件逐一說明了。
3. 拿類別來創建物件
於是,能藉「花」類別來定義物件,例如:
花 rose;
此時,rose物件圖示如下:
乾坤變化,化生萬物,萬物生生不息,此為自然之美與永恆不朽。軟體中之物件,也得隨著宇宙變化而生生不息。1990年代,軟體專家也發現這生生不息的原理,正提供軟體人員美好的方向,可達成OOP 的理想──追求軟體永恆之美。 於是,在1991年人類創造了Python程式語言。
~ End ~