// 抽象クラスの代わりに interface を利用したサンプル

interface Mensekiari{
    public float menseki();
    public float mawari();
}

class TyokakuSannkakkei implements Mensekiari{

    private double a;
    private double b;

    public TyokakuSannkakkei (int xa, int xb){
        a = xa;
        b = xb;
    }

    public String toString(){
        return  "この直角三角形の直角を挟む辺は，" +  a + ", " + b;
    }

    public double menseki(){
        return (a*b)/2;
    }

    public double mawari(){
        return a+b+(double)Math.sqrt(a*a+b*b);
    }
}

class Tyouhoukei implements Mensekiari{

    private double a;
    private double b;

    public Tyouhoukei (double xa, double xb){
        a = xa;
        b = xb;
    }

    public String toString(){
        return "この長方形の辺は，" + a + ", " + b;
    }

    public double menseki() {
        return a*b;
    }

    public double mawari(){
        return (a+b)*2;
    }
}

public class xIface01 {
    public static void main(String xargs[]){

        TyokakuSannkakkei tyosan  = new TyokakuSannkakkei(3.0, 4.0);
        Tyouhoukei tyou           = new Tyouhoukei(6.0, 7.0);

        System.out.print(tyosan);
        System.out.println(" 面積：" + tyosan.menseki());

        System.out.print(tyou);
        System.out.println(" 面積：" + tyou.menseki());
    }
}

