2.这个题的类图怎么画?
2.编写程序模拟几何图形、圆、矩形和三角形,请分别定义Geometry、Circle、Rectangle和Trianlge 4个类,请画出类图,设计要求如下:(1)设计一几何图形类Geometry,该类有一个域color,一个有参的构造函数,属性的getter和setter方法,以及计算几何图形的周长和面积(周长和面积的返回值为0)。
(2)设计Geometry类的三个子类(Circle、Rectangle、Trianlge),Circle类有一个半径域radius,一个有参的构造函数;Rectangle类有长(length)和宽(width)两个域,一个有参构造函数;Trianlge类有三条边长域(a,b,c),一个有参构造函数;三个子类都分别重写父类Geometry计算周长和面积的方法。
(3)请编写测试类分别测试上述4个类的功能。
根据题目要求,我们需要设计四个类:Geometry(几何图形类)、Circle(圆类)、Rectangle(矩形类)和Triangle(三角形类)。以下是这些类的类图设计:
+-------------------+
| Geometry |
+-------------------+
| - color: String |
+-------------------+
| + Geometry(color: String) |
| + getColor(): String |
| + setColor(color: String) |
| + getPerimeter(): double |
| + getArea(): double |
+-------------------+
+-------------------+
| Circle |
+-------------------+
| - radius: double|
+-------------------+
| + Circle(radius: double, color: String) |
| + getPerimeter(): double |
| + getArea(): double |
+-------------------+
+-------------------+
| Rectangle |
+-------------------+
| - length: double|
| - width: double |
+-------------------+
| + Rectangle(length: double, width: double, color: String) |
| + getPerimeter(): double |
| + getArea(): double |
+-------------------+
+-------------------+
| Triangle |
+-------------------+
| - a: double |
| - b: double |
| - c: double |
+-------------------+
| + Triangle(a: double, b: double, c: double, color: String) |
| + getPerimeter(): double |
| + getArea(): double |
+-------------------+
在类图中,每个类都有其相关的属性和方法。Geometry类有一个color属性和相应的getter和setter方法,以及计算周长和面积的方法。Circle类有一个radius属性和相应的构造函数,重写了Geometry类的计算周长和面积的方法。Rectangle类有length和width属性和相应的构造函数,也重写了Geometry类的计算周长和面积的方法。Triangle类有a、b和c属性和相应的构造函数,同样重写了Geometry类的计算周长和面积的方法。
请注意,类图中的"+"表示public访问修饰符,"-"表示private访问修饰符。
页:
[1]