为商店的产品创建课程

时间:2018-04-01 22:47:45

标签: java hierarchy

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

  • Mobo-gpu type(amd / intel),num。 SATA端口(4/6/8)......
  • CPU - 频率(3,3.6,4 GHz),数量核心(2/4/6/8),板载图形(是或否)......
  • RAM - 类型(DDR2,DDR3,DDR4),内存(2/4/8 GB),频率(1600,2666,4600 MHz)
  • GPU - 芯片组(AMD / nVidia),内存(2/4/6 GB)
  • 存储类型(HDD / SSD),尺寸(1.8,2.5,3.5英寸),容量(256/500 /...)
  • 显示器类型(LCD / LED),尺寸,分辨率,端口(显示端口/ HDMI / DVI
  • 鼠标 - 技术(激光/光学),连接(无线或有线)
  • 键盘 - 连接(无线或有线)
  • 打印机 - 技术(激光/喷墨),印刷类型(黑白或彩色)

所有产品都有一些共同的功能,如:型号,年份,制造商和价格。

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

基本上,我的问题是:如何将所有这些组织成课程? 我想我需要创建一个名为Product(层次结构顶部)的类,其中包含实例变量:model,year,manufacturer,price。 然后是一个带有instaces的Mobo类:gpu type,num。 SATA端口...... 一个带有实例变量的CPU类:频率,内核数......等等。我应该创建另外两个类,组件和外设吗?它们包含哪些实例变量?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

在代码中有很多方法可以表达这种事情,其他人很难知道哪种方式最适合你。

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

  • 类和子类
  • 类之间的包含关系
  • 班级之间的其他关系(一对一,一对多,多对多)

如果你想走那么远

  • 类的属性
  • 方法签名
  • 方法语义(在OCL中)
  • 相互作用
  • 诸如此类

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