Java编程:形状类与异常处理——三角形判定

需积分: 32 7 下载量 12 浏览量 更新于2024-09-17 收藏 87KB DOC 举报
在这个Java编程示例中,我们主要探讨了几个基本形状类的实现,包括三角形(Triangle)、圆形(Circle)和矩形(Rectangle)。这些类遵循面向对象的设计原则,并且在处理形状相关的操作时,使用了抽象类(Shape)作为基础。 首先,我们有一个名为`TriangleException`的异常类,它继承自Java的`Exception`类。这个异常被用来处理特定于三角形的错误情况,即当输入的三个边长无法构成有效的三角形时,会抛出`TriangleException`。构造函数接收三个边长参数,`toString()`方法返回一个字符串表示这个异常信息,指出三边不能构成三角形。 `Shape`是一个抽象类,定义了计算面积(getArea())、绘制(draw())和擦除(erase())这三种通用方法。此外,还提供了一个`setColor`方法用于设置颜色,以及获取创建时间的方法`getCreatedTime()`。抽象类不允许实例化,它的子类需要实现这些抽象方法。 `Circle`类是`Shape`的子类,它有私有的半径变量`r`,构造函数接受半径并将其赋值。`Circle`类实现了`Shape`中的方法,如计算面积(基于圆周率π和半径的平方),以及绘制和擦除圆形的简单输出。 `Rectangle`类同样继承自`Shape`,它有两个私有属性`width`和`height`,构造函数接收矩形的宽度和高度。`Rectangle`类的方法包括计算面积(基于宽度和高度相乘),以及绘制和擦除矩形的操作。 最后,`Triangle`类并未直接给出,但我们可以推测它会继承`Shape`,并需要实现`getArea()`方法来计算三角形的面积。由于三角形的面积计算通常涉及两边之和大于第三边的条件,`TriangleException`在这里可能用得上,用于检查边长是否满足构成三角形的条件。 总结来说,这段代码展示了Java中如何定义和操作不同形状的基本概念,以及在处理特殊情况(如无效三角形)时如何使用异常处理。同时,它演示了抽象类与具体子类之间的关系,以及面向对象设计中封装、继承和多态的核心原则。