寫了一個java沒有介面的程式, 有沒有高手可以將circu和area改寫成介面的方式實作呢? 感謝!!!
題目:
請使用C++及Java 撰寫三個類別(class):shape(形狀)、circle(圓形)與rectangle(矩形),其中shape 為抽象類別(abstract class),而circle 與rectangle 為衍生類別(derived class),均繼承shape。請在shape 中定義兩個介面(interface),分別作為運算週長(circumference)與面積(area)的介面,並在circle 與rectangle 中分別實作其功能。
abstract class Shape {
public Shape() {}
abstract public double circu();
abstract public double area();
}
class circle extends Shape {
private double r; // 圓形半徑
final static double PI = 3.14159; // 圓周率常數
public circle(double r) {
this.r = r;
}
public double circu() {// 計算圓週長
return 2*PI*r;
}
public double area() {// 計算圓面積
return PI*r*r;
}
public String toString() {
return "半徑:" + r + "==>週長:" + circu() + ",面積:" + area();
}
}
class rectangle extends Shape {
private double w; // 方形寬
private double h; // 方形高
public rectangle(double w, double h) {
this.w = w;
this.h = h;
}
public double circu() {// 計算方週長
return 2*(w+h);
}
public double area() {// 計算方面積
return w*h;
}
public String toString() {
return "寬:" + w + ",高:" + h + "==>週長:" + circu() + ",面積:" + area();
}
}
public class ShapeArea {
public static void main(String[] argv) {
circle c1 = new circle(6);
System.out.println("圓形"+c1.toString());
rectangle r1 = new rectangle(3,4);
System.out.println("方形"+r1.toString());
}
}