Browse Source

Shape1

master
zhaoyinghui 1 week ago
parent
commit
b7768bff71
  1. 31
      W5/shape/Shape1.java
  2. 17
      W5/shape/ShapeTest.java
  3. BIN
      W5/shape测试运行.png

31
W5/shape/Shape1.java

@ -0,0 +1,31 @@
// 1. 定义父类 Shape1
class Shape1 {
// 父类的 draw 方法
public void draw() {
System.out.println("绘制形状");
}
}
// 2. 定义子类 Circle 继承 Shape1 并重写 draw 方法
class Circle extends Shape1 {
@Override
public void draw() {
System.out.println("绘制圆形");
}
}
// 3. 定义子类 Rectangle 继承 Shape1 并重写 draw 方法
class Rectangle extends Shape1 {
@Override
public void draw() {
System.out.println("绘制矩形");
}
}
// 4. 定义工具类,包含 drawShape 方法
class ShapeDrawer {
// 接收 Shape1 类型参数,调用 draw 方法
public void drawShape(Shape1 s) {
s.draw();
}
}

17
W5/shape/ShapeTest.java

@ -0,0 +1,17 @@
// 5. 主类,包含 main 方法进行测试
public class ShapeTest {
public static void main(String[] args) {
// 创建对象
Shape1 circle = new Circle();
Shape1 rectangle = new Rectangle();
Shape1 generalShape = new Shape1();
// 创建工具类对象
ShapeDrawer drawer = new ShapeDrawer();
// 调用 drawShape 方法,体现多态
drawer.drawShape(generalShape); // 输出:绘制形状
drawer.drawShape(circle); // 输出:绘制圆形
drawer.drawShape(rectangle); // 输出:绘制矩形
}
}

BIN
W5/shape测试运行.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

Loading…
Cancel
Save