diff --git a/w5/AI学习报告.txt b/w5/AI学习报告.txt new file mode 100644 index 0000000..e69de29 diff --git a/w5/ShapeCalculator.java b/w5/ShapeCalculator.java new file mode 100644 index 0000000..50fdd4b --- /dev/null +++ b/w5/ShapeCalculator.java @@ -0,0 +1,56 @@ +package w5; + +public class ShapeCalculator { + 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; + } + } + class ShapeUtil { + public static void printArea(Shape shape) { + System.out.println("图形面积为:" + shape.getArea()); + } + } + public static void main(String[] args) { + ShapeCalculator calculator = new ShapeCalculator(); + Shape circle = calculator.new Circle(5); + Shape rectangle = calculator.new Rectangle(4,6); + Shape triangle = calculator.new Triangle(3,8); + System.out.println("====== 图形面积计算器 ======"); + ShapeUtil.printArea(circle); + ShapeUtil.printArea(rectangle); + ShapeUtil.printArea(triangle); + } +} diff --git a/w5/~$ DOCX 文档.docx b/w5/~$ DOCX 文档.docx new file mode 100644 index 0000000..bca0f96 Binary files /dev/null and b/w5/~$ DOCX 文档.docx differ diff --git a/w5/屏幕截图 2026-03-29 224240.png b/w5/屏幕截图 2026-03-29 224240.png new file mode 100644 index 0000000..02808fe Binary files /dev/null and b/w5/屏幕截图 2026-03-29 224240.png differ diff --git a/w5/类图.jpg b/w5/类图.jpg new file mode 100644 index 0000000..c5e2fee Binary files /dev/null and b/w5/类图.jpg differ diff --git a/w5/组合与继承.docx b/w5/组合与继承.docx new file mode 100644 index 0000000..bad5869 Binary files /dev/null and b/w5/组合与继承.docx differ