赞
踩
我们需要实现一个可以进行管理员操作和用户操作的图书管理系统,其中包括了管理员操作(查找,添加,删除,显示,退出系统);用户操作(查找,借阅,归还,退出系统).
管理员操作实例:
用户操作实例:
java面向对象的思想,让我们可以分装出来许多的包,包中也可以包含许多需要的类
在图书馆里系统中,我们需要准备3个包,分别是,book包(用来创建书这个对象的属性,同时创建一个书架用来存放书),user包(包含了管理员和普通用户),operation接口包(用来具体实现查找添加等逻辑)。
首先我们需要创建一个Book类,用来创建书的属性,同时面向对象的思想,我们需要对类中的成员属性进行分装(private修饰符),让他只能在类内使用不能再类外使用,如果要使用,需要get和set成员方法(set初始化成员属性,get返回成员属性,原本只能在类内访问,现在可以通过方法的引用来实现在类外的使用) ,同时使用构造方法来初始化对象的内容和属性。
注:get set方法和tostring方法在IDEA编译器中可以自动生成 鼠标右键然后进行选择
Book类 代码实现
package book; //Book成员属性的创建 private修饰 public class Book { private String name;//书名 private String author;//作者 private int price;//价格 private String type;//类型 private boolean isBorrowed;//是否被借出 /** *构造方法 用来创建对象 初始化对象的内容和属性 */ public Book(String name, String author, int price, String type) { this.name = name; this.author = author; this.price = price; this.type = type; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public String getType() { return type; } public void setType(String type) { this.type = type; } public boolean isBorrowed() { return isBorrowed; } public void setBorrowed(boolean borrowed) { isBorrowed = borrowed; } //toString方法 @Override /** * 重写toString的isBorrowed */ public String toString() { return "Book{" + "name='" + name + '\'' + ", author='" + author + '\'' + ", price='" + price + '\'' + ", type='" + type + '\'' + ((isBorrowed == true) ? "已经借出":"未借出")+//三目运算符 '}'; }
我们需要准备一个书架来存放我们的书,我们可以把这个书架设为Book类型的数组,同时需要一个成员属性来记录此时我的书架中放了多少本书,同时构造方法也是不能少的,用来初始化对象的属性和内容,构造方法时可以在书架中先放入几本书。
代码如下:
public class BookList {
Book[] books = new Book[10];//可以存放十本书
private int usedSize;//记录当前的books这个数组里有多少本书
//构造方法
public BookList(){
books[0] = new Book("你的名字","新海诚",20,"轻小说");
books[1] = new Book("老人与海","海明威",25,"小说");
books[2] = new Book("天气之子","新海诚",22,"轻小说");
usedSize = 3;
}
在BookList书架中,我们要做到可以拿出书,也可以在书架中放入书,在你拿出书或者放入书的时候,还需要来实时的记录书架现存的书。
翻译为代码就是,需要一个方法来找到书的下标,需要一个方法来在合适的位置放入书,还需要get set方法来实时获取书架中书的个数。
代码如下:
//pos 位置是合法的 返回下标为pos的books数组里的书 拿到书 public Book getBook(int pos){ return books[pos]; } /** * book是你要放入的书(添加) * pos位置是合法的 */ public void setBooks(int pos,Book book) { books[pos] = book; } /** * 实时获取或修改Size的值 * @return */ public int getUsedSize() { return usedSize; } public void setUsedSize(int size) { usedSize = size; } }
BookList类完整代码:
package book;
public class BookList {
Book[] books = new Book[10];//可以存放十本书
private int usedSize;//记录当前的books这个数组里有多少本书
//构造方法
public BookList(){
books[0] = new Book("你的名字","新海诚",20,"轻小说"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。