前面我们已经学习到了javase的基本语法结构-继承,多态,接口,接下来就让我们大家一起来利用这些来手动实现一个小项目——简洁的图书管理系统
目录
1.思路
如图所示
我们这个系统1.首先需要输入姓名,2.然后要通过不同用户的选择来展现不同的菜单,3.然后再根据菜单来进行增删改查,显示等
我们前面学习并了解了JAVA是一个面向对象的语言,那我们现在就可以粗略的将图书管理分为三个大体的类:书,用户,操作,于是我们可以在idea上先建设三个软件包,分别表示book,user,iopration然后单独创建一个Main函数
1.book类
book类中我们可以再分为两类book以及booklist,book负责存放书籍的各种信息,booklist负责充当书架功能,将书籍的各种信息存放下来
1.book
package book;
public class Book {
private String bookname;//书名
private String autor;//作者
private double price;//价格
private String type;//类型
private boolean isBorrowed;//是否借出
public Book(String name, String autor, double price, String type) {
this.bookname = name;
this.autor = autor;
this.price = price;
this.type = type;
}
public String getName() {
return bookname;
}
public void setName(String name) {
this.bookname = name;
}
public String getAutor() {
return autor;
}
public void setAutor(String autor) {
this.autor = autor;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
@Override
public String toString() {
return "BookList{" +
"name='" + bookname + '\'' +
", autor='" + autor + '\'' +
", price=" + price +
", type='" + type + '\'' +
", isBorrowed=" + isBorrowed +
'}';
}
}
2.booklist
将book类组成一个数组存储起来,而且可以初始化书架,将书架上原始的书先存放进去
ackage book;
public class BookList {
private Book[] books = new Book[10];
private int useSize;
public BookList(){
this.books[0] = new Book("西游记","吴承恩",19.9,"小说");
}
}
初步解决好book类后我们就可以来处理用户类了
2.user类
首先我们发现当这个系统输入完名字后就会让我们选择用户还是管理员
由于不同的身份有相同的效果,且有些方法虽然名字相同但是实际上产生的效果并不相同
所以我们可以利用抽象类来让管理员类和用户类来进行继承操作
于是我们将user软件包分为三类
1.(父类)user
2.(管理员类) AdminUser
3.(用户类)NormalUser
然后我们就可以依据需求来写代码了
user
然后我们就可以根据管理员菜单和用户菜单来分别为其写代码了
AdminUser
public class AdminUser extends User{
public AdminUser(String name) {
super(name);
}
//管理员界面
public int menu(){
System.out.println("