基礎程式設計(Java)· CH3

類別與物件

自己寫 class、建構子與參照 · 導覽地圖

完整內容看 PDF 講義,動手試跑看 index。

轉變

從「用類別」到「寫類別」

CH2:用現成的
System.out Scanner
CH3:自己寫
class Account

每個類別是一張藍圖,用 new 造出多個物件,各有獨立的資料。

類別的內容

一個類別有三種成員

  • 實例變數:物件的資料(如 private String name;
  • 方法:物件的行為(如 getName()
  • 建構子new 時初始化(與類名同名、無回傳型別)

封裝

private 資料 + public 方法

  • 實例變數設 private:外界不能直接亂改
  • 透過 public set/get 存取;set 可驗證(擋負數等)
  • 這叫資訊隱藏,讓程式更穩固

UML

三格畫一個類別

Account
– name : String
+ getName() : String

是 private、+ 是 public;屬性寫「名:型別」、操作寫「名(參數):回傳型別」。

建立物件

new 造物件、回傳參照

Account acc = new Account("Jane");
acc.setName("Mary");
String n = acc.getName();

new Account(...) 造一個物件並回傳參照;用點號 acc.方法() 操作它。

招牌考點

基本型別 vs 參照型別

int n = 5
直接存值 5
Account a
存參照 ●—▶ 物件

b = a 只複製參照,兩者指向同一物件;不是複製出第二個物件。

比較

== 比參照,equals 比內容

  • a == b:兩個參照是否指向同一物件
  • a.equals(b):兩物件的內容是否相同(字串常用)

初學最常踩:用 == 比字串內容。比內容請用 equals。

接下來

把類別寫進肌肉記憶

  • PDF 講義 完整內容+UML/參照圖
  • index 試跑+互動 UML+參照步進
  • 本地練習 5 題寫類別/建構子/封裝
  • 複習測驗 自測到 90%