首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java OOP 入門實作:梯形與圓形類的設計與測試

     編輯:Java 綜合教學

Java OOP 入門實作:梯形與圓形類的設計與測試

本文透過一個經典的 Java 練習題,示範如何將幾何概念轉換為類別設計:定義屬性、建構子、計算方法,並在主程式中實例化測試。適合初學者理解「類別封裝資料與行為」的基本流程。

需求分析

  • 梯形類:屬性 — 上底、下底、高、面積;方法 — 計算並回傳面積;建構子 — 初始化上底、下底、高。
  • 圓形類:屬性 — 半徑、周長、面積、PI 常數;方法 — 計算並回傳周長與面積;建構子 — 初始化半徑。
  • 主類別:建立兩個類別的物件並呼叫方法驗證結果。

程式碼實作

梯形類

public class Ladder {
    private double upperBase;   // 上底
    private double lowerBase;   // 下底
    private double height;      // 高
    private double area;        // 面積

    public Ladder(double upperBase, double lowerBase, double height) {
        this.upperBase = upperBase;
        this.lowerBase = lowerBase;
        this.height = height;
    }

    public double getArea() {
        area = (upperBase + lowerBase) * height / 2;
        return area;
    }
}

圓形類

public class Circle {
    private double radius;      // 半徑
    private double perimeter;   // 周長
    private double area;        // 面積
    private static final double PI = 3.14159;

    public Circle(double radius) {
        this.radius = radius;
    }

    public double getPerimeter() {
        perimeter = 2 * PI * radius;
        return perimeter;
    }

    public double getArea() {
        area = PI * radius * radius;
        return area;
    }
}

主類別測試

public class Main {
    public static void main(String[] args) {
        // 測試梯形
        Ladder ladder = new Ladder(2.2, 3.5, 4.0);
        System.out.println("梯形面積: " + ladder.getArea());

        // 測試圓形
        Circle circle = new Circle(5.5);
        System.out.println("圓形周長: " + circle.getPerimeter());
        System.out.println("圓形面積: " + circle.getArea());
    }
}

執行結果

梯形面積: 11.4
圓形周長: 34.5575
圓形面積: 95.03315

關鍵學習點

  1. 封裝性:屬性設為 private,透過方法存取,保護資料完整性。
  2. 建構子:確保物件一建立就處於有效狀態,避免忘記初始化。
  3. 單一職責:每個類別只負責自己的領域邏輯(幾何計算)。
  4. 常數定義:PI 使用 static final,節省記憶體且語意清晰。

延伸練習

  • 加入參數驗證(如半徑不能為負數),在建構子或 setter 中拋出 IllegalArgumentException。
  • 實作 toString() 方法,方便除錯輸出。
  • 設計共同介面 Shape,定義 getArea(),展示多型。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved