weixin_50776095 2022-06-27 17:56 采纳率: 80%
浏览 58
已结题

c++类如何构建,如何实现派生和多态

  1. 汽车零部件管理系统中存在如下业务实体:整车(编号、名称、型号、类型、排量、重量、外观尺寸、颜色、生产日期、产地等,也可以看成是一个部件),部件(编号、名称、装配时间、重量、外观尺寸、产地、备注等),零件(编号、名称、类型、材料、重量、外观尺寸、颜色、生产日期、产地等),装配信息(部件编号、零部件编号、装配时间、备注等,部件之间可以嵌套,亦即部件也可以由子部件构成);
  2. 支持对以上相关业务实体的新增、删除、属性编辑、查询等操作;
  3. 该管理系统中以上所有业务实体的保存与打开等文件操作。

请问这个类怎么建啊?我现在不清楚整车,部件,零件,装配信息之间的关系,不知道用谁作为基类、用谁作为派生类。他们之间怎么链接啊,有没有人帮我理一下思路

  • 写回答

2条回答 默认 最新

  • bostonAlen 2022-06-27 23:13
    关注

    首先,不说类的设计和扩展性,只说这几个间的关系,整车可能由部件和零件构成,部件可能由零件构成,装配信息则是描述他们之间的关系。
    这几个之间我理解没有继承的关系。而是组合 ,我理解他们的关系是这样的,车和部件类的成员有装配信息,然后车的成员有部件、零件,部件的成员也有零件和部件。因此车、部件、零件抽象成组件类,这样这三者都可以是组件,也就是说车也可以由车、部件、零件组成
    实际上,车、部件、零件这几个可以抽象出一个实体类,将公共属性编号、名称作为实体类的属性,这样做,也和你所有业务实体的保存与打开等文件的操作对应上了,
    而车、部件、零件继承这个类。其实车、部件、零件、装配信息这几个类也可以抽象,以汽车为例,就写一个ICar的接口类,因为方便以后你要添加一种新型的车,有更多的属性,就直接继承然后增加属性就行了,同样部件、零件、装配信息也是一样,随着车的增加,部件、零件、装配信息这几个类肯定有相应的改变。
    当然,你也可以暂时先不考虑车、部件、零件、装配信息这几个类的抽象,因为这样考虑就多了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月6日
  • 已采纳回答 6月28日
  • 创建了问题 6月27日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度