當前位置:編程學習大全網 - 編程軟體 - JAVA編程 利用多態的原理實現不同類型的形狀計算邊數和面積

JAVA編程 利用多態的原理實現不同類型的形狀計算邊數和面積

貌似 正方形的 w 跟 h 是相等的吧?

壹下代碼僅供參考

public?class?TestCircle?{

public?static?void?main(String[]?args)?{

Shape?shape1?=?new?Circle(2);

Shape?shape2?=?new?Triangle(10,?20);

Shape?shape3?=?new?Square(20);

System.out.println("圓形(r=2)的邊數:"?+?shape1.getBorders());

System.out.println("圓形(r=2)的面積:"?+?shape1.getArea());

System.out.println("三角形(w=10,h=20)的邊數:"?+?shape2.getBorders());

System.out.println("三角形(w=10,h=20)的面積:"?+?shape2.getArea());

System.out.println("正方形(h=20)的邊數:"?+?shape3.getBorders());

System.out.println("正方形(h=20)的面積:"?+?shape3.getArea());

}

}

interface?Shape?{

int?getBorders();

double?getArea();

}

class?Circle?implements?Shape?{

int?r;

public?Circle(int?r)?{

super();

this.r?=?r;

}

@Override

public?int?getBorders()?{

return?1;

}

@Override

public?double?getArea()?{

return?Math.PI?*?Math.pow(r,?2);

}

}

class?Triangle?implements?Shape?{

int?w;

int?h;

public?Triangle(int?w,?int?h)?{

super();

this.w?=?w;

this.h?=?h;

}

@Override

public?int?getBorders()?{

return?3;

}

@Override

public?double?getArea()?{

return?w?*?h?/?2;

}

}

class?Square?implements?Shape?{

int?w;

public?Square(int?w)?{

super();

this.w?=?w;

}

@Override

public?int?getBorders()?{

return?4;

}

@Override

public?double?getArea()?{

return?Math.pow(w,?2);

}

}

  • 上一篇:谷歌瀏覽器chrome怎麽抓包,怎麽開發者工具抓包
  • 下一篇:最終幻想X-2的角色介紹
  • copyright 2024編程學習大全網