为商店的产品创建 类
Creating classes for shop's products
假设有一家商店销售两种产品,计算机组件和外围设备。组件类别包括:
- 主板 - GPU 类型(amd/intel),数量。 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)、尺寸、分辨率、端口(显示器 Port/HDMI/DVI
- 鼠标 - 技术(laser/optical)、连接(无线或有线)
- 键盘 - 连接(无线或有线)
- 打印机 - 技术(laser/inkjet),打印类型(黑白或彩色)
尽管所有产品都有一些共同特征,例如:型号、年份、制造商和价格。
产品的种类很重要,因为如果产品是一个组件,客户将获得 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 来捕捉图表。
假设有一家商店销售两种产品,计算机组件和外围设备。组件类别包括:
- 主板 - GPU 类型(amd/intel),数量。 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)、尺寸、分辨率、端口(显示器 Port/HDMI/DVI
- 鼠标 - 技术(laser/optical)、连接(无线或有线)
- 键盘 - 连接(无线或有线)
- 打印机 - 技术(laser/inkjet),打印类型(黑白或彩色)
尽管所有产品都有一些共同特征,例如:型号、年份、制造商和价格。
产品的种类很重要,因为如果产品是一个组件,客户将获得 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 来捕捉图表。