本文透過一個經典的 Java 練習題,示範如何將幾何概念轉換為類別設計:定義屬性、建構子、計算方法,並在主程式中實例化測試。適合初學者理解「類別封裝資料與行為」的基本流程。
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
private,透過方法存取,保護資料完整性。PI 使用 static final,節省記憶體且語意清晰。IllegalArgumentException。toString() 方法,方便除錯輸出。Shape,定義 getArea(),展示多型。