当前位置: 首页 > news >正文

@[TOC](Java实现 图书管理系统) # 一、菜单 该图书管理系统的菜单界面主要有以下两种: **管理员菜单:** **用户菜单:**

Java实现 图书管理系统

  • 一、菜单
  • 二、基本框架
    • 1.book包
      • 1.1 book类
      • 1.2 bookList类
    • 2.use包
      • 2.1 User类
      • 2.2 AdminUser类
      • 2.3 NormalUser类
      • 2.4 用户菜单
    • 3.operation包
      • 3.1 IOperation接口
      • 3.2 AddIOperation类
      • 3.3 剩余类如下
    • 4.Main类
      • 4.1 login方法
      • 4.2 main函数
  • 三、具体运行
    • 3.1 ExitIOperation类
    • 3.2 ShowIOperation类
    • 3.3 AddIOperation类
    • 3.4 BorrowedIOperation类
    • 3.5 ReturnIoperation类
    • 3.6 DelIoperation类

一、菜单

该图书管理系统的菜单界面主要有以下两种:
管理员菜单:
查找图书
新增图书
删除图书
显示图书
退出系统
用户菜单:
查找图书
借阅图书
归还图书
退出系统

二、基本框架

1.book包

因为是图书管理系统,所以可以先从书(book)这个包开始。
book包中有book类和bookList类
在这里插入图片描述

1.1 book类

在book类中存放中图书的各种属性,书名、作者、价格、种类、借出状态。

    private String name;
    private String autor;
    private int price;
    private String type;
    private boolean isBorrowed;

再生成对应的构造方法:(Alt + insert) + Construct+(Crtl+鼠标)
鼠标右键 + Generate + Construct+(Crtl+鼠标)
在这里插入图片描述
生成以下代码:

public Book(String name, String author, int price, String type) {
        this.name = name;
        this.autor = author;
        this.price = price;
        this.type = type;
    }

再生成对应属性的get和set方法:(Alt + insert)+ Getter and Setter +(Crtl+鼠标)
在这里插入图片描述
生成以下代码:

public String getName() {
    return name;
}
 
public void setName(String name) {
    this.name = name;
}
 
public String getAuthor() {
    return autor;
}
 
public void setAuthor(String autor) {
    this.autor = autor;
}
 
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方法:(Alt + insert)+ toString() +(Crtl+鼠标)
在这里插入图片描述在这里插入图片描述
其中isBorrowed可以改写为下面三位运算符的形似:
在这里插入图片描述

1.2 bookList类

bookList类更像是一个书架,书是放在里面的。先创建Book数组,同时可以用useSized来记录图书数量。同时也可以放三本书在书架里面,方便后面运行功能。

    private Book[] books = new Book[10];
    private int useSized = 0;//计数器 来记录 当前实际放的书的书目!
 
    public BookList(){
    //构造方法 来初始化成员
        this.books[0] = new Book("三国演义","罗贯中",15,"小说");
        this.books[1] = new Book("西游记","吴承恩",14,"小说");
        this.books[2] = new Book("红楼梦","曹雪芹",15,"小说");
 
        this.useSized = 3;
    }

再生成useSized的get和set方法:(Alt + insert) + Getter and Setter +(Crtl+鼠标)

 public int getUseSized() {
        return useSized;
    }
 
    public void setUseSized(int useSized) {
        this.useSized = useSized;
    }

2.use包

写完部分book包的内容,我们可以开始写use包、用户方面的内容。从一开始的菜单可以得知,用户分为管理员和普通用户。而这两者之间有一些相同的属性:都有菜单,都有用户姓名。所以可以写一个User来被它们继承。
ues包中有User类、AdminUser类和NormalUser类

2.1 User类

2.2 AdminUser类

2.3 NormalUser类

2.4 用户菜单

3.operation包

在这里插入图片描述
在写完book包和use包的部分内容后,我们可以开始来写不同用户所对应的功能
operation包中有AddIOperation类、BorrowedIOperation类、DelIOperation类、ExitIOperation类、FindIOperation类、IOperation接口、ReturnIOperation类、ShowIOperation类。

3.1 IOperation接口

在创建class文件时,选择Interface,创建接口
在这里插入图片描述
并在其中创建work方法

public interface IOperation {
    void work(BookList bookList);
}

3.2 AddIOperation类

AddIOperation类去使用IOperation接口(implements)。
其中需要重写work方法:(Alt + insert)+ Overr Methodes + 鼠标
在这里插入图片描述
然后对其中的内容进行重写:

public class AddIOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("新增图书");
    }
}

3.3 剩余类如下

步骤同上:接口 + 重写方法。
BorrowedIOperation类

public class BorrowedeIOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("借阅图书...");
    }
}

DelIOperation类

public class DelIOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("删除图书");
}

ExitIOperation类

public class ExitIOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("退出系统");
}

FindIOperation类

public class FindIOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("查阅图书");
}

ReturnIOperation类

public class ReturnIOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("归还图书");
}

ShowIOperation类

public class ReturnIOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("归还图书");
}

4.Main类

4.1 login方法

4.2 main函数

三、具体运行

3.1 ExitIOperation类

3.2 ShowIOperation类

3.3 AddIOperation类

3.4 BorrowedIOperation类

3.5 ReturnIoperation类

3.6 DelIoperation类

相关文章:

  • 线程池--深入一些
  • 从0-1学习Mysql第十二章: 常见问题与故障排查
  • 刷屏(0和1)
  • 模块七_面向对象
  • 解决android studio(ladybug版本) gradle的一些task突然消失了
  • iOS for...in 循环
  • Phpstudy中的MySQL无法正常启动或启动后自动暂停,以及sqlilab环境搭建出现的问题解决方法
  • ORM Bee V2.5.2.x 发布,支持 CQRS; sql 性能分析;更新 MongoDB ORM分片
  • 014存储期(时间)
  • Qt之QStateMachine等待
  • C++20 Lambda表达式新特性:包扩展与初始化捕获的强强联合
  • Is Noise Conditioning Necessary for Denoising Generative Models?论文阅读笔记
  • 开源向量数据库Milvus简介
  • RNN实现精神分裂症患者诊断(pytorch)
  • 在日常工作中,有一块新磁盘,如何扩容到vm中,具体命令是什么?
  • XSL 语言:XML 样式表的语言基础与应用
  • 初识uniApp
  • 【Java项目】基于SpringBoot的Java学习平台
  • 在Ubuntu中,某个文件的右下角有一把锁的标志是什么意思?
  • 在什么情况下需要使用光谱相机呢?
  • 自己做本地网站/在哪里查关键词排名
  • 网站上的百度地图标注咋样做/网站发稿平台
  • 网站开发周期是什么意思/网络链接推广
  • 建设产品网站/汕头网站建设方案外包
  • 庆阳市建设局海绵城市网站/今日军事新闻头条打仗
  • 淘宝网站优化实例/正规赚佣金的平台