iT邦幫忙

2026 iThome 鐵人賽

DAY 21
0

本日學習:
抽象類別

  1. 建立專門的類別來當作父類別
  2. 包含一組必須實作的函數,子類別需要透過實作建立物件並執行(所有的抽象函數都需要實作)
  3. 「父類別」無法建立物件
  4. 如何定義:
    abstract class 類別名稱{
    宣告資料成員;
    傳回值的資料型態 函數名稱(引數){
    內容;
    }
    修飾子 abstract 傳回值資料型態 函數名稱(引數);
    }
  5. 函數的定義:一般函數與抽象函數,後者沒有定義處理的方式
  6. 只能宣告 public、protected 或不宣告
  7. 如果在子類別裡沒有改寫抽象函數,子類別也要定義成 abstract,否則會編譯錯誤

介面

  1. 資料成員要設定初值
  2. 函數全部定義成 abstract
  3. 定義語法:
    interface 介面名稱{
    final 資料型態 成員名稱 = 常數; // 不能再更改
    修飾子 abstract 傳回值資料型態 函數名稱(引數); // 定義抽象函數
    }
  4. 抽象函數只能宣告 public 或是不宣告
  5. 利用介面 A 打造新的類別 B:class 類別名稱 implements 介面名稱{}
  6. 不能藉由介面建立物件,應透過實作介面的類別
  7. 藉由介面實現多重繼承
    • 實作兩個以上的介面:Class 類別名稱 implements 介面1, 介面2, ......{}
    • 用於視窗程式設計
  8. 介面的繼承:
    • 語法:interface 子介面名稱 extends 父介面名稱1, 父介面名稱2, ......{}
  9. 判別類別關係:instanceof,用來測試物件是否與某個類別或介面有繼承關係
    • 格式:object instanceof ClassName
    • 回傳 true or false
    • 物件的類別要是物件所屬類別的子類別
    • 物件是指定類別的子類別物件

上一篇
Day 20:類別(8)
下一篇
Day 22:類別(10)
系列文
從零開始學程式語言:Java 新手修煉記 共 22 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言