作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个包含对象 Car 的类库。
困境是,汽车本身将是一个具有诸如注册号等字段的类,以及汽车的其他一般信息。
但是汽车有引擎、底盘等。这些对象也需要建模。它们应该是嵌入在 Car 中的类吗?如果不是,嵌入式类的使用场景是什么?
我了解到组合是“一部分”,因此您可以对单独的类进行建模并使用引擎类型,例如,在汽车的字段级别来实现这一点。但是,“聚合”是与在 ctor 中传递的类型“有”的关系,也适用(汽车“有”引擎)。
我该走哪条路?
编辑:我目前正在做作业,因此我没有回复。类库用于基于汽车的 Web 应用程序。我是一名专业开发人员(我以 .NET 为生,但作为一名初级开发人员),所以这不是一个家庭作业问题。
谢谢
最佳答案
这实际上取决于您的应用程序。
例如,您可以将轮子实现为单独的类,包含有关轮胎上的轮胎、磨损程度等信息,但如果您的应用程序甚至不关心轮子,那么整个类就是浪费代码。
我可以看到三个组合用例:
关于oop - 是否使用 has-a(组合)或 is-a(继承)对汽车对象(及其部件,如引擎)进行建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1913007/
我是一名优秀的程序员,十分优秀!