案例3-1 基于控制台的购书系统

伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效、低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网所带来的更多便利。网络购书系统正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的图书。

本任务要求,使用所学知识编写一个基于控制台的购书系统,实现购书功能。输出所有图书的信息:包括每本书的编号、书名、单价、库存。

顾客购买书时,根据提示输入图书编号来选购需要的书,并根据提示输入购买书的的数量。

购买完毕后输出顾客的订单信息,包括:订单号、订单明细、订单总额。

  • 学会分析“基于控制台的购书系统”程序任务实现的逻辑思路。
  • 能独立完成“基于控制台的购书系统”程序的源代码编写、编译及运行。
  • 理解和掌握面向对象的设计程序。
  • 会用类图进行面向对象设计。
  • 掌握封装的实现及好处。
  • 包和访问控制修饰符的使用。

(1)通过任务描述可知,该系统中必须包括3个实体类,类名及属性设置如下:

1、图书类(Book)

  • 图书编号(id)
  • 图书名称(name)
  • 图书单价(price)
  • 库存数量(storage)

2、订单项类(OrderItem)

  • 图书(book)
  • 购买数量(num)

3、订单类(Order)

  • 订单号(orderID)
  • 订单总额(total)
  • 订单项列表(items)

(2)由于购买图书时,需要选择图书的数量,所以需要在订单项类里定义获取图书对象以及图书数量的方法。

(3)由于需要指定订单项以及获取订单的订单列表、订单号、订单总额等信息,所以需要有订单列表、订单号、订单总额指定订单项等方法。