Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为shop&x27创建类;s产品_Java_Hierarchy - Fatal编程技术网

Java 为shop&x27创建类;s产品

Java 为shop&x27创建类;s产品,java,hierarchy,Java,Hierarchy,假设有一家商店出售两种产品,电脑部件和外围设备。组件类别包括: Mobo-gpu类型(amd/intel),SATA端口数(4/6/8) CPU-频率(3,3.6,4 GHz)、内核数(2/4/6/8)、板载图形(是或否) RAM类型(DDR2、DDR3、DDR4)、内存(2/4/8GB)、频率(16002664600MHz) GPU-芯片组(AMD/nVidia),内存(2/4/6 GB) 存储器.类型(HDD/SSD),尺寸(1.8,2.5,3.5英寸),容量(256/500/…) 显示器

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

  • Mobo-gpu类型(amd/intel),SATA端口数(4/6/8)
  • CPU-频率(3,3.6,4 GHz)、内核数(2/4/6/8)、板载图形(是或否)
  • RAM类型(DDR2、DDR3、DDR4)、内存(2/4/8GB)、频率(16002664600MHz)
  • 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。 然后是一个带有Instances的Mobo类:gpu类型,SATA端口数。。。
带有实例变量的CPU类:频率、内核数……等等。我是否应该再创建两个类、组件和外围设备?它们将包含哪些实例变量?

首先,您必须创建一个包,以便保持组织


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

有许多方法可以在代码中表达这种东西,其他人很难知道什么是b这是给你的

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

  • 类和子类
  • 类之间的包含关系
  • 类之间的其他关系(一对一、一对多、多对多)
如果你想走那么远

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

在第一个例子中,我建议使用一个白板和一个手机来捕获图表。

1。赞成2。我将考虑实现简单的方法,如“代码> ISCultEngy())/> >和<代码> iSub()/代码>,只需调用它们来确定什么样的折扣。另一个想法是“代码> GETDISCONTHORT()。并让任何产品计算自己的折扣。