diff --git a/w4/.gitignore b/w4/.gitignore new file mode 100644 index 0000000..13275f1 --- /dev/null +++ b/w4/.gitignore @@ -0,0 +1,30 @@ +### IntelliJ IDEA ### +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ +.kotlin + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/w4/.idea/.gitignore b/w4/.idea/.gitignore new file mode 100644 index 0000000..b6b1ecf --- /dev/null +++ b/w4/.idea/.gitignore @@ -0,0 +1,10 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 已忽略包含查询文件的默认文件夹 +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ diff --git a/w4/.idea/misc.xml b/w4/.idea/misc.xml new file mode 100644 index 0000000..6f29fee --- /dev/null +++ b/w4/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/w4/.idea/modules.xml b/w4/.idea/modules.xml new file mode 100644 index 0000000..c4d4021 --- /dev/null +++ b/w4/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/w4/.idea/vcs.xml b/w4/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/w4/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/w4/W4.iml b/w4/W4.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/w4/W4.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/w4/src/Circle.java b/w4/src/Circle.java new file mode 100644 index 0000000..b3a64bc --- /dev/null +++ b/w4/src/Circle.java @@ -0,0 +1,12 @@ +public class Circle extends Shape { + private double radius; + + public Circle(double radius) { + this.radius = radius; + } + + @Override + public double getArea() { + return Math.PI * radius * radius; + } +} diff --git a/w4/src/Main.java b/w4/src/Main.java new file mode 100644 index 0000000..c24a6b9 --- /dev/null +++ b/w4/src/Main.java @@ -0,0 +1,11 @@ +public class Main { + public static void main(String[] args) { + Shape circle = new Circle(2); + Shape rectangle = new Rectangle(3, 4); + Shape triangle = new Triangle(3, 4); + + ShapeUtil.printArea(circle); + ShapeUtil.printArea(rectangle); + ShapeUtil.printArea(triangle); + } +} \ No newline at end of file diff --git a/w4/src/Rectangle.java b/w4/src/Rectangle.java new file mode 100644 index 0000000..5674664 --- /dev/null +++ b/w4/src/Rectangle.java @@ -0,0 +1,14 @@ +public class Rectangle extends Shape { + private double width; + private double height; + + public Rectangle(double width, double height) { + this.width = width; + this.height = height; + } + + @Override + public double getArea() { + return width * height; + } +} diff --git a/w4/src/Shape.java b/w4/src/Shape.java new file mode 100644 index 0000000..7ef588d --- /dev/null +++ b/w4/src/Shape.java @@ -0,0 +1,3 @@ +public abstract class Shape { + public abstract double getArea(); +} \ No newline at end of file diff --git a/w4/src/ShapeUtil.java b/w4/src/ShapeUtil.java new file mode 100644 index 0000000..9405e1b --- /dev/null +++ b/w4/src/ShapeUtil.java @@ -0,0 +1,7 @@ +public class ShapeUtil { + public static void printArea(Shape shape) { + if (shape != null) { + System.out.println("面积:" + shape.getArea()); + } + } +} \ No newline at end of file diff --git a/w4/src/Triangle.java b/w4/src/Triangle.java new file mode 100644 index 0000000..d81b1c5 --- /dev/null +++ b/w4/src/Triangle.java @@ -0,0 +1,14 @@ +public 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 0.5 * base * height; + } +} diff --git a/w4/反思.doc b/w4/反思.doc new file mode 100644 index 0000000..ddbff12 Binary files /dev/null and b/w4/反思.doc differ diff --git a/w4/实验报告.docx b/w4/实验报告.docx new file mode 100644 index 0000000..b92e63d Binary files /dev/null and b/w4/实验报告.docx differ diff --git a/w4/实验结果.png b/w4/实验结果.png new file mode 100644 index 0000000..66958dd Binary files /dev/null and b/w4/实验结果.png differ diff --git a/w4/类图.png b/w4/类图.png new file mode 100644 index 0000000..d8e2e89 Binary files /dev/null and b/w4/类图.png differ