3-5 類別的要項 - 屬性

類別的要項-屬性

  類別的區塊中是可以再加入一些元素的,例如豪宅的藍圖會加入大門的 顏色、樓層數、樓高與門牌號碼等資訊,這些有關豪宅的「資訊」稱為類別的屬性。屬性可以是任何的資料型態,如樓層數可使用 int 整數,大門顏色可 用 java.awt.Color 類別,在類別中加入屬性,可以讓類別更完善的儲存必要資料。

  以 BMI 指數的範例來說,因為我們需要人的體重與身高資料才能夠計算 出 BMI 指數,所以筆者設計一個類別-「Person」來代表一個人。請在 javalib 模組下的套件處按右鍵,再選擇「New / Kotlin file/class」,如下圖:

  再命名類別名稱為 Person,如下圖,請注意類別名稱第一個字母為大寫:

  Person 類別身上有兩個屬性,分別是 float 浮點數 weight 與 hieght,代表體重與身高,這兩個具意義的變數應定義於 Person 類別下的第一階層:

  類別設計完成後,等同就有一張藍圖了,現在既然類別已經設計好了, 可以將它建造出來試用看看了吧?此時,筆者需要一個可以執行的方法- main,Kotlin 對於 main 方法的設計更符合物件導向,不需設計在任何類別內部,直接在第一階層即可。

  在 main 方法中, 呼叫 Person 類別的建構函式將物件產生出來:

  Person 類別是一個可以重複使用的設計圖,使用它的人利用第 4 行的方法建造出可用的實體,這個可供使用與操作的實體,稱為「物件」,第 4 行「等號=」右手邊的 Person(),將讀取 Person 類別檔後,執行建構函式並建立實體的物件。當等號的右邊建立物件後,會得到該物件的位置(或 位址,位址),再將該位置存放在名稱為 p 的紙條上,以後可以直接使用 p, 就能快速得到該物件了,依照類別產生物件的概念圖如下:

  使用物件 p 時,可以用小數點「.」來存取其屬性,前提是當時設計類別時該屬性是設計成允許存取的,如 Person 類別,在定義屬性 weight 與 height 時,前面並無 private 這類限制存取的修飾字,它們就能在同一個套件中被存取。讀者可以在開發工具中使用物件後隨著小數點來觀察可存取的屬性,如下圖:

  上圖小數點後會自動出現下拉選單,其中可以存取的屬性有 height 與 weight,筆者先將 height 與 weight 設定為 1.7 (公尺) 與 65 (公斤):

  若要使用現在這個 Person 類別,筆者先建構出實體物件 p(第 4 行),再存取其兩個屬性,設定為 1.7 與 65。事實上,這個類別的設計並不完美,因為要產生物件並設定初始值就要 3 行程式來處理,能不能夠減少為 1 行程式呢?再學習「建構函式」就能達成。

完成並繼續  
問題討論

0 問答