diff --git a/w4/Shape.java b/w4/Shape.java new file mode 100644 index 0000000..2118fa9 --- /dev/null +++ b/w4/Shape.java @@ -0,0 +1,39 @@ +package learn; + +public abstract class Shape { + public abstract double getArea(); +} +class Circle extends Shape{ + private double radius; + public Circle(double radius){ + this.radius=radius; + } + @Override + public double getArea(){ + return Math.PI*radius*radius; + } +} +class Rectangle extends Shape{ + private double length; + private double width; + public Rectangle(double length,double width){ + this.length=length; + this.width=width; + } + @Override + public double getArea(){ + return length*width; + } +} +class Triangle extends Shape{ + private double base; + private double height; + public Triangle(double base,double height){ + this.base=base; + this.height=height; + } + @Override + public double getArea(){ + return base*height/2; + } +} diff --git a/w4/ShapeUtil.java b/w4/ShapeUtil.java new file mode 100644 index 0000000..1805323 --- /dev/null +++ b/w4/ShapeUtil.java @@ -0,0 +1,11 @@ +package learn; + +public class ShapeUtil { + public static void printArea(Shape shape){ + System.out.println(shape.getArea()); + } + public static void main(String[]args){ + Shape circle=new Circle(5); + printArea(circle); + } +} diff --git a/w4/实验报告.docx b/w4/实验报告.docx new file mode 100644 index 0000000..a83762a Binary files /dev/null and b/w4/实验报告.docx differ diff --git a/w4/类图.jpg b/w4/类图.jpg new file mode 100644 index 0000000..63cd715 Binary files /dev/null and b/w4/类图.jpg differ