为商店的产品创建 类

Creating classes for shop's products

假设有一家商店销售两种产品,计算机组件和外围设备。组件类别包括:

尽管所有产品都有一些共同特征,例如:型号、年份、制造商和价格。

产品的种类很重要,因为如果产品是一个组件,客户将获得 25% 的折扣,如果它是外围设备,客户将获得 10% 的折扣,所以这对我之后需要实施的内容很重要。

基本上,我的问题是:如何将所有这些组织成 classes? 我想我需要创建一个名为 Product(层次结构的顶部)的 class,其中包含实例变量:型号、年份、制造商、价格。 然后是一个 Mobo class 实例:gpu 类型,num。 SATA端口... 带有实例变量的 CPU class:频率、核心数 .... 等等。我应该再创建两个 classes、组件和外围设备吗?它们将包含哪些实例变量?

嗯,首先你必须创建一个包,这样你才能保持井井有条。

您应该为每种产品创建一个 class。但是您可能还需要一些接口。还要记住 classes 只是对象的蓝图,因此 classes 没有对象就什么都不是。

这种东西在代码中有很多种表达方式,其他人很难知道哪种方式最适合你。

我建议您使用对象建模符号(如 UML)来为自己制定最合适的数据建模方法;即最适合您要求的模型。在 UML 中(例如)您可以建模:

  • classes 和 subclasses
  • classes
  • 之间的包含关系
  • class之间的其他关系(一对一、一对多、多对多)

如果你想走那么远

  • classes
  • 的属性
  • 方法签名
  • 方法语义(在 OCL 中)
  • 互动
  • 等等

首先,我建议使用白板...和手机 phone 来捕捉图表。