面向对象设计与编程问题解析

21、为了跟踪会员所欠的罚款金额,需要对Member类进行哪些更改?

方法更新说明

  • Member 类中添加 addFine 方法,用于更新会员对象以累积罚款。

  • 在返回书籍时,若存在罚款, Library 类的 returnBook 方法会调用 Member addFine 方法,并传递书籍标题以创建交易记录。

22、尝试将 ItemList , K> 实现为单例模式。你会遇到什么困难?

由于 Java 实现泛型的方式,类型名称 T 在编译时会从类定义中被擦除,在执行期间不可用。因此,无法对类型名称 T 进行有用的检查,导致类似如下代码不合法:

private static ItemList<T, K> itemList;

private ItemList() {}

public static ItemList<T, K> instance() {
    if (itemList == null) {
        itemList = new ItemList<T, K>();
    }
    return itemList;
}

23、一个大学注册系统有一个 Student 类来跟踪学生信息。当学生的 GPA 低于某个水平时,他/她将被置于学业警告状态。你会通过创建一个继承 Student 类的 WeakStudent 子类来实现此功能吗?

不建议创建 WeakStudent 子类来实现。因为学生处于学业警告状态只是其在某个时刻的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值