使用JAVA基础语法编写的一个在控制台输入操作的简易图书管理系统,实现了1.权限管理;2.购买书籍及赠品;3.添加书籍;4.结账;等功能。本文包含全部代码及完整注释
运用了接口和抽象类,使用数组存储数据,体现了JAVA语言继承、封装、多态三大特性
项目结构
DefaultCustomr类
package BookSaleManage.com.ssdut.authotity.impl; /** * 顾客实现 */ import BookSaleManage.com.ssdut.authotity.Normal; import BookSaleManage.com.ssdut.biz.BookBiz; import BookSaleManage.com.ssdut.entity.Book; import BookSaleManage.com.ssdut.ex.EX; public class DefaultCustomr implements Normal { BookBiz bookBiz = new BookBiz(); //查询 @Override public void query() { bookBiz.quety(); } //购买图书 @Override public Book buy(int bookid, int num) { return bookBiz.burBook(bookid, num); } //购买赠品 @Override public EX buyEx(int excode) { return bookBiz.buyEx(excode); } //结账 @Override public void checkout(Book book) { bookBiz.checkout(book); } }
DefaultStoreMgr 类
package BookSaleManage.com.ssdut.authotity.impl;
import BookSaleManage.com.ssdut.authotity.StoreMgr;
import BookSaleManage.com.ssdut.biz.BookBiz;
import BookSaleManage.com.ssdut.entity.Book;
public class DefaultStoreMgr implements StoreMgr {
BookBiz bookBiz = new BookBiz();
@Override
public void in(int bookid, int num) {
bookBiz.inBook(bookid, num);
}
@Override
public void out(int bookid, int num) {
bookBiz.outBook(bookid, num);
}
@Override
public void save(Book book) {
bookBiz.saveBook(book);
}
@Override
public void query() {
bookBiz.quety();
}
}
Normal 接口
package BookSaleManage.com.ssdut.authotity;
import BookSaleManage.com.ssdut.entity.Book;
import BookSaleManage.com.ssdut.ex.EX;
public interface Normal {
public void query();
public Book buy(int id,int num);//购买图书
public EX buyEx(int excode);//购买赠品
public void checkout(Book book);//结账
}
StoreMgr 接口
package BookSaleManage.com.ssdut.authotity;
import BookSaleManage.com.ssdut.entity.Book;
/**
* 管理员权限
*/
public interface StoreMgr {
public void in(int bookid,int num);
public void out(int bookid,int num);
public void save(Book book);
public void query();
}
BookBiz 类
package BookSaleManage.com.ssdut.biz;
import BookSaleManage.com.ssdut.*;
import BookSaleManage.com.ssdut.entity.Book;
import BookSaleManage.com.ssdut.ex.EX;
import BookSaleManage.com.ssdut.ex.ExFactory;
public class BookBiz {
public static Book[] books = new Book[30];//图书书架
//初始化图书
public static void makeData(){
Book book1 = new Book();
Book book2 = new Book();
Book book3 = new Book();
Book book4 = new Book();
Book book5 = new Book();
book1.setId(1);
book1.setName("数据库系统概念");
book1.setAuther("西尔伯沙茨");
book1.setPubDate("2012-05-01");
book1.setPrice(99.00);
book1.setStore(76);
book2.setId(2);
book2.setName("Python深度学习");
book2.setAuther("尼格尔·刘易斯");
book2.setPubDate("2018-01-01");
book2.setPrice(29.5);
book2.setStore(18);
book3.setId(3);
book3.setName("深入浅出数据分析");
book3.setAuther("迈克尔·米斯顿");
book3.setPubDate("2012-10-01");
book3.setPrice(69.50);
book3.setStore(80);
book4.setId(4);
book4.setName("Python");
book4.setAuther("卫斯理·春");
book4.setPubDate("2016-05-24");
book4.setPrice(7802);
book4.setStore(55);
book5.setId(5);
book5.setName("成为数据分析师");
book5.setAuther("托马斯·达文波特");
book5.setPubDate("2018-02-01");
book5.setPrice(47.00);
book5.setStore(22);
books[0] = book1;
books[1] = book2;
books[2] = book3;
books[3] = book4;
books[4] = book5;
}
//图书入库
public void inBook(int bookid,int num){
Book book