功能:
-
可以实现商品信息的添加,删除,修改,和查
-
商品信息包括:商品编号,商品名称,商品类别,商品价格,商品数
-
程序有界面和后续功能组成
分析:
因为我们写的是一个项目中的一个模块,以后可能会添加新的功能进去,所以每一个界面或者功能都应该是一个单独的对象,这样做以后往代码中添加功能会更加方便。
商品信息应该用对象来存储,因此需要一个商品类。
开始界面
代码演示
因为主界面是一个单独的功能,并且在之后的代码中会经常使用,所以将主界面变成一个单独的类
我们在主界面类中编写一个show方法用来展示主界面,这样以后需要用到主界面时只需要创建主界面类的对象,用对象调用show方法就能展示主界面。因此和主界面相关的功能都应该写在show方法中。
添加商品功能
因为添加商品是一个单独的界面,它不属于主界面的功能,所以需要一个单独的类。
我们同样在类中编写一个show方法,用来展示添加商品的界面。在这个界面中需要你录入“商品编号”,“商品名称”,“商品类别”,“商品价格”,“商品数量”这些商品信息。
因为添加,删除,修改等等属于是对数据的处理操作,所以我们不能将代码写到show方法中,show方法只负责展示添加界面。我们需要一个专门对数据进行操作的类我们称这个类为Service类。
我们定义一个方法,方法的功能是添加商品信息。因为是添加商品信息所以我们需要把在添加界面中录入的商品信息传过来,这时我们就需要一个容器来储存,所以我们需要一个商品类用来储存商品信息,类的属性应该包括上面说的五种。
在service类中的代码第八行我们将数据打包到了对象中,但是对象也需要一个容器存储,因为未来会有很多用户使用这个系统,我们需要将对象存到数组中来实现存储很多的数据。
数组需要用static关键字修饰,因为这个数组应该是所有对象共享的,index用来记录数组中有多少个数据。
在录入数据时需要考虑商品编号是否已经存在,因为商品编号应该是唯一的,一旦存在应该存储失败。同时数组也要考虑到扩容问题。只有上述条件都达成时才能存储成功。
查询商品功能
同理因为查询也是一个单独的界面所以创建一个查询界面类,类里有个show方法用来展示查询界面。
该方法只负责展示商品信息,所以它需要获得商品信息,而和处理数据相关的功能都写在service类中,所以创建service的对象调用方法。
首先我们需要确认用户是想展示所有商品还是按照商品种类展示商品,因为未来可能存储的商品对象非常多,如果只有全部展示不太好,所有需要考虑到是否按照商品种类展示。
当我们找到符合要求的商品信息时需要将这个商品信息储存到新的数组中然后返回,但是这个新数组的长度不一定是index(index表示数组中数据的个数)。因为我们可能会按照类型查找数据而对象的商品类型不一定全部一样,所有我们需要先找出符合要求的对象的个数再按照这个个数创建一个新的数组。
再获得完商品信息后,就可以按照格式输出商品信息了。