インタフェースに書き換えたプログラム

インタフェースに書き換えたプログラム

練習問題4

Figureクラスをインタフェースに書き換えたプログラムを作成する。

 

実行画面

三角形 底辺=4.0 高さ=3.0 面積=6.0

三角形 底辺=6.0 高さ=6.0 面積=18.0
四角形 よこ=4.0 たて=3.0 面積=12.0
四角形 よこ=6.0 たて=6.0 面積=36.0

 

インタフェース:Figure

 

クラス:Triangle (implements Figure)

 

クラス:Rectangle (implements Figure)

 

クラス:ren14_3(メインのクラス)

 

解答例

interface Figure {

void dislayArea();
}

class Rectangle implements Figure {

public double width, height;
public Rectangle(double w, double h) {
width = w;
height = h;
}
public void dislayArea() {
System.out.print("四角形 よこ=" + width + " たて=" + height);
System.out.println(" 面積=" + (width * height) );
}
}

class Triangle implements Figure {

public double bottom, height;
public Triangle(double b, double h) {
bottom = b;
height = h;
}
public void dislayArea() {
System.out.print("三角形 底辺=" + bottom + " 高さ=" + height);
System.out.println(" 面積=" + (bottom * height / 2.0) );
}
}

public class ren14_4 {

public static void main(String[] args) {
Figure figure[] = new Figure[4];
figure[0] = new Triangle(4.0, 3.0);
figure[1] = new Triangle(6.0, 6.0);
figure[2] = new Rectangle(4.0, 3.0);
figure[3] = new Rectangle(6.0, 6.0);
for(int i = 0; i < figure.length; i++) {
figure[i].dislayArea();
}
}
}