案例一:图书借阅统计 场景描述:图书馆管理员小张和小李分别负责统计本月上旬和下旬的图书借阅情况。他们需要记录每种图书的借阅次数,并在月底合并两人的统计结果,以得到整个月的借阅情况。
时间: 2024-10-24 12:11:08 浏览: 26
图书馆图书借阅管理系统 基于SSM的图书馆 借阅管理系统拥有两种角色:管理员和用户 管理员:借阅管理、图书管理、 读者管理、类型
案例一描述的是一个简单的数据管理任务,通过面向对象的设计可以创建两个类,如`BookRecord`和`MonthStat`:
1. `BookRecord`类:代表每本图书的基本信息,比如书名、ISBN等,以及一个计数器`borrowCount`用于记录借阅次数。
```java
public class BookRecord {
private String title;
private String isbn;
private int borrowCount;
public BookRecord(String title, String isbn) {
this.title = title;
this.isbn = isbn;
this.borrowCount = 0;
}
// 方法...
public void borrowBook() {
borrowCount++;
}
}
```
2. `MonthStat`类:负责统计月度借阅情况,包含两个成员变量`upperMonthStat`和`lowerMonthStat`,分别表示上旬和下旬的统计结果,可以是一个`BookRecord`对象的列表。
```java
public class MonthStat {
private List<BookRecord> upperMonthRecords;
private List<BookRecord> lowerMonthRecords;
public MonthStat() {
upperMonthRecords = new ArrayList<>();
lowerMonthRecords = new ArrayList<>();
}
// 方法...
public void mergeStats(MonthStat other) {
upperMonthRecords.addAll(other.upperMonthRecords);
lowerMonthRecords.addAll(other.lowerMonthRecords);
}
// 其他统计和展示方法...
}
```
管理员小张和小李可以在每月初和月中向对应的`MonthStat`对象添加新借阅记录,月底时将两个`MonthStat`合并,生成整个月的借阅报告。这样,如果需要更改借阅统计的方式,只需修改`BookRecord`的行为,而不会影响到整个系统的其他部分,体现了多态的优势。
阅读全文