diff --git a/w5-黄志楷-202506050318/Circle.java b/w5-黄志楷-202506050318/Circle.java new file mode 100644 index 0000000..2bce1b6 --- /dev/null +++ b/w5-黄志楷-202506050318/Circle.java @@ -0,0 +1,12 @@ +package w5; + +public class Circle extends Shape{ + Circle(double l,double h){ + super(l,h); + } + @Override + protected double getArea(){ + area=Math.PI*l*h; + return area; + } +} diff --git a/w5-黄志楷-202506050318/Main.java b/w5-黄志楷-202506050318/Main.java new file mode 100644 index 0000000..d5cf826 --- /dev/null +++ b/w5-黄志楷-202506050318/Main.java @@ -0,0 +1,14 @@ +package w5; + +public class Main { + ShapeUtil st; + public static void main(String[] args) { + ShapeUtil st=new ShapeUtil(); + Shape circle=new Circle(9, 9); + Shape triangle=new Triangle(9, 2); + Shape retangle=new Retangle(9, 4); + st.printArea(circle); + st.printArea(triangle); + st.printArea(retangle); + } +} diff --git a/w5-黄志楷-202506050318/Retangle.java b/w5-黄志楷-202506050318/Retangle.java new file mode 100644 index 0000000..e6635ff --- /dev/null +++ b/w5-黄志楷-202506050318/Retangle.java @@ -0,0 +1,12 @@ +package w5; + +public class Retangle extends Shape{ + Retangle(double l,double h){ + super(l,h); + } + @Override + protected double getArea(){ + area=l*h; + return area; + } +} diff --git a/w5-黄志楷-202506050318/Shape.java b/w5-黄志楷-202506050318/Shape.java new file mode 100644 index 0000000..2c93ef0 --- /dev/null +++ b/w5-黄志楷-202506050318/Shape.java @@ -0,0 +1,12 @@ +package w5; +abstract class Shape{ + protected double l; + protected double h; + protected double area; + public Shape(double l,double h){ + this.l=l; + this.h=h; + this.area=getArea(); + } + protected abstract double getArea(); +} diff --git a/w5-黄志楷-202506050318/ShapeUtil.java b/w5-黄志楷-202506050318/ShapeUtil.java new file mode 100644 index 0000000..26c0526 --- /dev/null +++ b/w5-黄志楷-202506050318/ShapeUtil.java @@ -0,0 +1,8 @@ +package w5; + +public class ShapeUtil { + + public static void printArea(Shape shape){ + System.out.println(shape.area); + } +}