鱼C论坛

 找回密码
 立即注册
查看: 1812|回复: 1

2.这个题的类图怎么画?

[复制链接]
发表于 2023-10-29 17:52:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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个类的功能。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-29 17:52:58 | 显示全部楼层
根据题目要求,我们需要设计四个类:Geometry(几何图形类)、Circle(圆类)、Rectangle(矩形类)和Triangle(三角形类)。以下是这些类的类图设计:

  1. +-------------------+
  2. |     Geometry      |
  3. +-------------------+
  4. | - color: String   |
  5. +-------------------+
  6. | + Geometry(color: String) |
  7. | + getColor(): String |
  8. | + setColor(color: String) |
  9. | + getPerimeter(): double |
  10. | + getArea(): double |
  11. +-------------------+

  12. +-------------------+
  13. |      Circle       |
  14. +-------------------+
  15. | - radius: double  |
  16. +-------------------+
  17. | + Circle(radius: double, color: String) |
  18. | + getPerimeter(): double |
  19. | + getArea(): double |
  20. +-------------------+

  21. +-------------------+
  22. |     Rectangle     |
  23. +-------------------+
  24. | - length: double  |
  25. | - width: double   |
  26. +-------------------+
  27. | + Rectangle(length: double, width: double, color: String) |
  28. | + getPerimeter(): double |
  29. | + getArea(): double |
  30. +-------------------+

  31. +-------------------+
  32. |     Triangle      |
  33. +-------------------+
  34. | - a: double       |
  35. | - b: double       |
  36. | - c: double       |
  37. +-------------------+
  38. | + Triangle(a: double, b: double, c: double, color: String) |
  39. | + getPerimeter(): double |
  40. | + getArea(): double |
  41. +-------------------+
复制代码


在类图中,每个类都有其相关的属性和方法。Geometry类有一个color属性和相应的getter和setter方法,以及计算周长和面积的方法。Circle类有一个radius属性和相应的构造函数,重写了Geometry类的计算周长和面积的方法。Rectangle类有length和width属性和相应的构造函数,也重写了Geometry类的计算周长和面积的方法。Triangle类有a、b和c属性和相应的构造函数,同样重写了Geometry类的计算周长和面积的方法。

请注意,类图中的"+"表示public访问修饰符,"-"表示private访问修饰符。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 01:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表