Java - 图书馆管理系统

该项目是一个简单的Java图书馆管理系统,旨在巩固面向对象编程知识,包括接口、类和对象、多态等。系统分为book、operation和user三个包,分别处理书籍信息、操作功能和用户管理。IOperation接口定义了操作行为,如添加、删除、借阅和归还书籍。用户类通过继承实现不同权限,Main.java作为系统入口整合所有组件。
摘要由CSDN通过智能技术生成

项目介绍:此项目的业务代码方面比较简单,实现的功能也比较简单,只有查找,删除,增加,借阅,归还书籍这些简单的操作。而借阅,归还等等也只是用书籍的一个boolean数据成员来保存。练习此项目的主要目的是学习巩固Java的接口,类和对象,多态,动态绑定等面向对象的知识。

大致分为几个模块:

1. book包,存储Book.java  和 BookList.java 它的作用从名字就可以看出了     

2. operation包,以一个IOperation接口为根本,将那些操作封装为类,这些类都implements那个IOperation接口。主要就是提供那些增,删,查,借阅,归还的操作。详细见下文。

3. user包,User.java  GeneralUser.java  Administrator.java 用到了继承和多态,细节见下文。

最后就是一个main.cpp 文件,作为以上三个包的对象的汇总,实现这个图书馆管理系统。

注: 此项目的实现逻辑并不一定是最好的,也不一定是合理的,旨在学习面向对象编程。

book包

Book.java

package book;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: yangzilong
 * Date: 2022-07-03
 * Time: 15:38
 */
public class Book {
    private String bookName;
    private String authorName;
    private double price;
    private String type;
    private boolean isBorrowed;
    public Book(String bookName, String authorName, double price, String type) {
        this.bookName = bookName;
        this.authorName = authorName;
        this.price = price;
        this.type = type;
    }
    public void setBookName(String bookName) {
        this.bookName = bookName;
    }
    public String getBookName() {
        return bookName;
    }
    public void setAuthorName(String authorName) {
        this.authorName = authorName;
    }
    public String getAuthorName() {
        return authorName;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public double getPrice() {
        return price;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getType() {
        return type;
    }

    public boolean isBorrowed() {
        return isBorrowed;
    }

    public void setBorrowed(boolean borrowed) {
        isBorrowed = borrowed;
    }

    @Override    // 重写Object类的toString方法。
    public String toString() {
        return "Book{" +
                "bookName='" + bookName + '\'' +
                ", authorName='" + authorName + '\'' +
                ", price=" + price +
                ", type='" + type + '\'' +
                ", isBorrowed:" + (isBorrowed ?"Yes":"No") +
                '}';
    }
}

一个Java文件,建议只写一个类。这个Book类存储了书籍的基本信息,以及构造函数。剩余的就是对于每个数据成员的setter和getter方法。以及为了方便打印Book类对象信息而重写Object类的toString方法。其中的getter和setter方法,是为了实现后面在BookList类的功能而准备的接口,将数据成员封装起来,对外使用接口对这些数据成员进行操作。只有几个是后面用到的。当然,如果你后面想要扩展这个管理系统的功能,剩余的方法也会用到。

BookList.java

package book;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值