readme

Java面向对象程序设计-租用实验设备

需求分析

本项目将使用对象池模式来实现设备租用功能。在实验课程中,学生可能需要租用实验设备来完成实验。在图书馆或者机房,学生可能可以借用电脑,完成资料查询或者上机完成作业。这些设备是有数量限制的,而且这些设备都保存着各自独立的状态数据。例如,图书馆可能只能同时提供20台笔记本电脑,供学生使用。每台笔记本电脑都有唯一的id标识。每台笔记本电脑都设置了不同的用户名和密码等信息。

因此,为了实现上述功能,我们将在本项目中使用对象共享池模式,来跟踪每一个设备的租借情况。

步骤一

首先,我们在com.littlewaterdrop.sharing包中创建一个新的接口DevicePool;它包含两个成员方法borrowDevice()和returnDevice(),用于实现设备的"借"与"还"。borrowDevice()方法无输入参数,返回一个Device类型的对象。returnDevice()方法接收一个Device类型的对象,无返回值。

public interface DevidePool {
    Device borrowDevice();
    void returnDevice(Device device);
}

然后,我们在com.littlewaterdrop.sharing包中创建一个新接口Device。这是一个Marker Interface;不包含任何成员方法。

步骤二

我们再在com.littlewaterdrop.sharing包中创建一个新类LaptopPool;用于表示和维护多个笔记本电脑设备。LaptopPool实现了DevicePool接口。在LaptopPool对象中维护着一组LaptopDevice对象。

public class LaptopPool implements DevicePool {
    ...
}

我们再在com.littlewaterdrop.sharing包中创建一个新类Laptop,实现了Device接口。在Laptop类中包含了三个成员变量username、password和batteryLife,用于跟踪笔记本电脑的用户名、密码和电池寿命。username和password为字符串类型;batteryLife为整数类型。我们假设笔记本电脑每借出1000次之后,需要更换电池。

public class Laptop implements Device {
    ...
}

步骤三

我们将在StudentCenter中设置一个LaptopPool类型的成员变量,并且创建两个新的成员函数borrowLaptop()和returnLaptop(),用于实现学生租用和归还笔记本电脑。初始时,这个LaptopPool保存着20个Laptop对象。

public class StudentCenter {
    Laptop borrowLaptop();
    void returnLaptop(Laptop laptop);
}

参考文档

  1. Java编程语言的基本概念
  2. 设计模式
  3. Maven工程管理工具
Copyright  2019 Little Waterdrop, LLC. All Rights Reserved.