From 8e873993b4d9ca19a6e325c23909c7c59cb56ca2 Mon Sep 17 00:00:00 2001 From: XuJiexian <3445002374@qq.com> Date: Mon, 30 Mar 2026 12:38:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20'w5'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- w5/ShapeUtil.java | 51 ++++++++++++++++++++++++++++++++++++ w5/shape_class_diagram.puml | 46 ++++++++++++++++++++++++++++++++ w5/实验报告.docx | Bin 0 -> 18719 bytes 3 files changed, 97 insertions(+) create mode 100644 w5/ShapeUtil.java create mode 100644 w5/shape_class_diagram.puml create mode 100644 w5/实验报告.docx diff --git a/w5/ShapeUtil.java b/w5/ShapeUtil.java new file mode 100644 index 0000000..843e10f --- /dev/null +++ b/w5/ShapeUtil.java @@ -0,0 +1,51 @@ +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 width; + private double height; + public Rectangle(double width, double height) { + this.width = width; + this.height = height; + } + @Override + public double getArea() { + return width * height; + } +} +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; + } +} +public class ShapeUtil { + public static void printArea(Shape shape) { + System.out.println("面积:" + shape.getArea()); + } + public static void main(String[] args) { + Shape circle = new Circle(6); + Shape rectangle = new Rectangle(9, 10); + Shape triangle = new Triangle(5, 10); + printArea(circle); + printArea(rectangle); + printArea(triangle); + } +} + \ No newline at end of file diff --git a/w5/shape_class_diagram.puml b/w5/shape_class_diagram.puml new file mode 100644 index 0000000..b579edf --- /dev/null +++ b/w5/shape_class_diagram.puml @@ -0,0 +1,46 @@ +@startuml +' 形状类图 + +' 抽象类 Shape +abstract class Shape { + + getArea(): double +} + +' Circle 类 +class Circle { + - radius: double + + Circle(radius: double) + + getArea(): double +} + +' Rectangle 类 +class Rectangle { + - width: double + - height: double + + Rectangle(width: double, height: double) + + getArea(): double +} + +' Triangle 类 +class Triangle { + - base: double + - height: double + + Triangle(base: double, height: double) + + getArea(): double +} + +' ShapeUtil 工具类 +class ShapeUtil { + + printArea(shape: Shape): void + + main(args: String[]): void +} + +' 继承关系 +Shape <|-- Circle +Shape <|-- Rectangle +Shape <|-- Triangle + +' 使用关系 +ShapeUtil --> Shape + +@enduml diff --git a/w5/实验报告.docx b/w5/实验报告.docx new file mode 100644 index 0000000000000000000000000000000000000000..4d1a40f4a3d6dd4e846e1c7cb30617a36ac5b597 GIT binary patch literal 18719 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 literal 0 HcmV?d00001