You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.4 KiB
1.4 KiB
形状类图
+-------------------+
| Shape |
+-------------------+
| +getArea():double |
+-------------------+
^
| 继承
+---------+----------+
| |
v v
+----------------+ +-------------------+ +----------------+
| Circle | | Rectangle | | Triangle |
+----------------+ +-------------------+ +----------------+
| -radius:double | | -length:double | | -base:double |
| | | -width:double | | -height:double |
+----------------+ +-------------------+ +----------------+
| +getArea():double | | +getArea():double | | +getArea():double |
+----------------+ +-------------------+ +----------------+
+-------------------+
| ShapeUtil |
+-------------------+
| +printArea(Shape):void |
| +main(String[]):void |
+-------------------+
类说明
- Shape - 抽象类,定义了计算面积的抽象方法
- Circle - 圆形,继承自 Shape,使用 π×r² 计算面积
- Rectangle - 矩形,继承自 Shape,使用长×宽计算面积
- Triangle - 三角形,继承自 Shape,使用 0.5×底×高计算面积
- ShapeUtil - 工具类,用于测试不同形状的面积计算
多态特性
ShapeUtil.printArea() 方法接收 Shape 类型参数,但运行时会根据实际传入的子类对象调用对应的 getArea() 方法,体现了 Java 的多态特性。