diff --git a/W5-黄若妍-202506050310/AI协助记录.txt b/W5-黄若妍-202506050310/AI协助记录.txt new file mode 100644 index 0000000..09edd27 --- /dev/null +++ b/W5-黄若妍-202506050310/AI协助记录.txt @@ -0,0 +1,9 @@ +1. 明确需求后,先按难度分层设计Java多态练习题,提供可直接运行的完整代码并标注注释。 + +2. 讲解多态、继承、重写等核心知识点,帮助理解代码逻辑。 + +3. 根据提问,规范Java文件名,说明文件命名规则与存放方式。 + +4. 整合多题代码为单文件版本,方便一键运行测试。 + +5. 梳理协助学习记录,清晰呈现整个辅导流程,确保学习完整顺畅。 \ No newline at end of file diff --git a/W5-黄若妍-202506050310/ShapeTest.java b/W5-黄若妍-202506050310/ShapeTest.java new file mode 100644 index 0000000..b68e982 --- /dev/null +++ b/W5-黄若妍-202506050310/ShapeTest.java @@ -0,0 +1,44 @@ +// 父类 Shape +class Shape { + // 父类的 draw 方法,子类可以重写 + public void draw() { + System.out.println("绘制通用图形"); + } +} + +// 子类 Circle 继承 Shape +class Circle extends Shape { + // 重写父类的 draw 方法 + @Override + public void draw() { + System.out.println("绘制圆形"); + } +} + +// 子类 Rectangle 继承 Shape +class Rectangle extends Shape { + // 重写父类的 draw 方法 + @Override + public void draw() { + System.out.println("绘制矩形"); + } +} + +// 测试类 +public class ShapeTest { + // 多态核心方法:接收 Shape 类型参数,自动调用对应子类的 draw + public static void drawShape(Shape s) { + s.draw(); + } + + public static void main(String[] args) { + // 测试多态 + Shape circle = new Circle(); + Shape rectangle = new Rectangle(); + Shape shape = new Shape(); + + drawShape(shape); // 输出:绘制通用图形 + drawShape(circle); // 输出:绘制圆形 + drawShape(rectangle); // 输出:绘制矩形 + } +} \ No newline at end of file