java关于泛型的实验代码_[ Java学习 ] 泛型类的应用实验

成文原因:

这篇文章是我这周所做的 Java 实验题的一个小总结。

这次实验让我深刻赞同了我们 Java 老师在这节实验课前告诉我们的话:

最重要的是把问题想明白,它要怎么拆分成几个类,每个类里究竟需要哪些方法,具体细节怎么实现。当你真正把这些问题想清楚了以后,剩下的编程,其实就是很简单的事情了。难度往往不是难在编程,而是分解问题为一个个小问题后,逐一解决它们的能力。

做完实验以后再来看老师这句话,觉得不能同意更多。

我贴上来的代码有两份。

前一份是未完成的代码,之所以未完成,是因为:写到一半时,觉得这样的结构设计太不合理了,如果照着这么写下去,会有许多重复的代码片段不断地出现,于是就想着这么去改进…怎样才能尽可能减少方法,但是提高代码的复用性呢?

于是,果断放弃了前一种没写完的,不太优的结构,第二份代码才是写完时真正提交的最终版本。

除了代码,我把实验报告的心得部分也一并贴了上来用以自警

-------------------------------下面是实验题目------------------------------

7fbdc82f4f3f33a55fc5bc3507264b84.png

7be546b4697c27d514b425ae636585bf.png

-------------------------------下面是代码------------------------------

/*

前一份是未完成的代码,之所以未完成,是因为:写到一半时,觉得这样的结构设计太不合理了,如果照着这么写下去,会有许多重复的代码片段不断地出现,于是就想着这么去改进…怎样才能尽可能减少方法,但是提高代码的复用性呢?

于是,果断放弃了前一种没写完的,不太优的结构,第二份代码才是写完时真正提交的最终版本。

*/

import java.util.ArrayList;

import java.util.LinkedList;

import java.util.*;

class Customer

{

private String name;

private String fNum; // flight number,表示他所定的航线的航线号

private int sum; //买了多少票

Customer()

{

}

Customer(String n, String f, int s)

{

name = n;

fNum = f;

sum = s;

}

public void setName(String n)

{

name = n;

}

public String getName()

{

return name;

}

public void setSum(int s)

{

sum = s;

}

public int getSum()

{

return sum;

}

public void setfNum(String f)

{

fNum = f;

}

String getfNum()

{

return fNum;

}

}

class Flight

{

private static int sum = 0; //航线计数

private int order; //航线排列号

private String destination;//终点站名

private String FNum; //航班号

private int limit; //乘客限额

private int free; //余票数量

private LinkedList booked; //已预定客户列表

private LinkedList waiting; //等候替补客户名单

Flight()

{

}

Flight(int o, String d, String F, int l)

{

order = o;

destination = d;

FNum = F;

limit = l;

}

public int getOrder()

{

return order;

}

public String getDestination()

{

return destination;

}

public String getFNum()

{

return FNum;

}

public int getLimit()

{

return limit;

}

public int getFree()

{

return free;

}

public void addFree(int f)

{

free += f;

}

public void subFree(int f)

{

free -= f;

}

public LinkedList getBooked()

{

return booked;

}

public LinkedList getWaiting()

{

return waiting;

}

public void showInfo() //show information

{

System.out.println("航线排列号为:" + order + " 终点站为:" + destination);

System.out.println("航班号为:" + FNum + " 成员定额为: " + limit + " 剩余票数为: " + free);

System.out.println("已订票客户有:");

Ite

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值