天天小说网

20.1 整理项目信息——苦差事

周五下午,我正在看技术网站,第六感官发觉有人在身后,扭头一看,老大站在背后,我赶忙站起来。

“王经理,你找我?”

“哦,在看技术呀。有个事情找你谈一下,你到我办公室来一下。”

到老大办公室还没坐稳,老大就开始发话了。

“是这样,刚刚我在看季报,我们每个项目的支出费用都很高,项目情况复杂,人员情况也不简单,我看着也有点糊涂,你看,这是我们现在还在开发或者维护的103个项目,项目信息很乱,很多是两年前的信息,你能不能先把这些项目最新情况重新打印一份给我,咱们好查查到底有什么问题。”老大说。

“这个好办,我马上去办!”我爽快地答复道。

很快我设计了一个类图,准备实施,如图20-1所示。

图20-1 项目信息类图

简单得不能再简单的类图,是个程序员都能实现。我们来看看这个简单的东西,先看接口,如代码清单20-1所示。

代码清单20-1 项目信息接口

public interface IProject {

//从老板这里看到的就是项目信息

public String getProjectInfo();

定义了一个接口,面向接口编程嘛,当然要定义接口了,然后看看实现类,如代码清单20-2所示。

代码清单20-2 项目信息的实现

public class Project implements IProject {

//项目名称

private String name = "";

//项目成员数量

private int num = 0;

//项目费用

private int cost = 0;

//定义一个构造函数,把所有老板需要看到的信息存储起来

public Project(String name,int num,int cost) {

//赋值到类的成员变量中

this.name = name;

this.num = num;

this.cost=cost;

//得到项目的信息

public String getProjectInfo() {

String info = "";

//获得项目的名称

info = info+ "项目名称是:" + this.name;

//获得项目人数

info = info + "\t项目人数: "+ this.num;

//项目费用

info = info+ "\t 项目费用:"+ this.cost;

return info;

实现类也是极度简单,通过构造函数把要显示的数据传递过来,然后放到getProjectInfo中显示,这太容易了!然后我们老大要看看结果了,如代码清单20-3所示。

代码清单20-3 老大看报表的场景

public class Boss {

public static void main(String[] args) {

//定义一个List,存放所有的项目对象

ArrayList

projectList = new ArrayList

();

//增加星球大战项目

projectList.add(new Project("星球大战项目",10,100000));

//增加扭转时空项目

projectList.add(new Project("扭转时空项目",100,10000000));

//增加超人改造项目

projectList.add(new Project("超人改造项目",10000,1000000000));

//这边100个项目

for(int i=4;i<104;i++) {

projectList.add(new Project("第"+i+"个项目",i*5,i*1000000));

//遍历一下ArrayList,把所有的数据都取出

for(IProject project:projectList) {

System.out.println(project.getProjectInfo());

然后看一下我们的运行结果,如下所示:

项目名称是:星球大战项目 项目人数: 10 项目费用:100000项目名称是:扭转时空项目 项目人数: 100 项目费用:10000000项目名称是:超人改造项目 项目人数: 10000 项目费用:1000000000项目名称是:第4个项目 项目人数: 20 项目费用:4000000项目名称是:第5个项目 项目人数: 25 项目费用:5000000...老大一看,非常开心,这么快就出结果了,大大地把我夸奖了一番,然后就去埋头研究那堆枯燥的报表了。我回到座位上,又看了一遍程序(心里很乐,就又想看看自己的成果),想想(一日三省嘛),应该还有另外一种实现方式,因为是遍历嘛,让我想到的就是Java的迭代器接口java.util.iterator,它的作用就是遍历Collection集合下的元素,那我们

更多内容加载中...请稍候...

若您看到此段落,代表章节内容加载失败,请关闭浏览器的阅读模式、畅读模式、小说模式,以及关闭广告屏蔽功能,或复制网址到其他浏览器阅读!