当前位置:   article > 正文

Java面向对象——图书管理系统(小白也能看的懂!)_java图书馆管理系统面向对象

java图书馆管理系统面向对象

一.功能介绍

我们需要实现一个可以进行管理员操作和用户操作的图书管理系统,其中包括了管理员操作(查找,添加,删除,显示,退出系统);用户操作(查找,借阅,归还,退出系统).

管理员操作实例:
在这里插入图片描述

用户操作实例:
在这里插入图片描述

二.JAVA面向对象思想 包的分装

java面向对象的思想,让我们可以分装出来许多的包,包中也可以包含许多需要的类

在图书馆里系统中,我们需要准备3个包,分别是,book包(用来创建书这个对象的属性,同时创建一个书架用来存放书),user包(包含了管理员和普通用户),operation接口包(用来具体实现查找添加等逻辑)。

1.book包

Book属性的创建,BookList创建书架

2.user包 较复杂

在这里插入图片描述

3.operation包(接口包)

在这里插入图片描述

三.代码框架的搭建

1.book包 Book类

首先我们需要创建一个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) ? "已经借出":"未借出")+//三目运算符
                '}';
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86

2.book包 BookList类

我们需要准备一个书架来存放我们的书,我们可以把这个书架设为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;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在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;
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

BookList类完整代码:

package book;

public class BookList {
   
    Book[] books = new Book[10];//可以存放十本书
    private int usedSize;//记录当前的books这个数组里有多少本书

    //构造方法
    public BookList(){
   
        books[0] = new Book("你的名字","新海诚",20,"轻小说"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号