Java——简易图书管理系统
1.功能介绍
本个图书管理系统的功能主要分为两个方面:
1.管理员的:查找图书,新增图书,删除图书,显示图书,退出系统
2.普通用户的:查找图书,借阅图书,归还图书,显示图书,退出系统
2.图书管理系统的整体框架
3.搭框架
3.1对一本书进行处理
1.将一本书和书架分别写成同一个包中的不同类
2.对一本书的信息和方法进行封装(写书的构造方法时,不用写是否借出的信息,因为默认是false)
3.重写toString方法
public String toString() { return "Book{" + "书名:'" + name + '\'' + ", 作者:'" + author + '\'' + ", 类型:'" + type + '\'' + ", 价格:" + price + ", 是否借出:" + (isBrrowed?"已借出":"未借出") + '}'; }
注意:重写toString方法时,要对是否借出的信息进行判断,如果是true就返回字符串“已借出”,false返回字符串“未借出”
3.2对书架进行处理
1.定义一个书架(用数组存储每一本书,数组的类型为Book,书架的默认长度设为10),
private Book[]books=new Book[10];
2.调用构造函数对书架进行初始化(默认放3本书进去)
public BookList(){ this.books[0]=new Book("三国演义","罗贯中","小说",99); this.books[1]=new Book("西游记","吴承恩","小说",149); this.books[2]=new Book("红楼梦","曹雪芹","小说",129); }
3.设置一个变量useSize来记录当前的数量
4.对书架这个类进行封装
注意:
对书架调用getter和setter方法时,我们获取的是书架这个数组里面的书,而不是书架这个数组
public Book getBooks(int pos) { return books[pos]; } public void setBooks(Book book,int pos) { this.books[pos] = book; }
3.3对各种方法的实现
不管是管理员还是普通用户,实现的功能几乎都是对书架这个数组的增删查改,我们实现一个工作的接口,让每一个功能类都实现这个接口,重写接口里面的方法,从而方便后续使用接口类型的数组管理这些方法
注意:在退出系统这个功能里面,我们好像没有用到书架的数组吧,但为什么也要实现IFunctiong这个接口呢?
答:在后面我们是将每一个功能的类作为IFunction这个接口类型的数组的元素,通过数组去调用每一个功能,实现了功能调用的统一性
思考:
我们的删除图书,查找图书,以及借阅和归还图书是不是都需要实现一个查找功能,有没有方法方法简化一下代码啊?
我们可以实现一个接口,接口里面实现一个查找的方法,然后再用需要查找方法的类实现这个接口就行了
public interface IFind { public static int Find(BookList bookList, String name){ for (int i = 0; i