# 项目一 :开发团队分配管理软件的总结##

项目设计主要涉及的知识点:

  • 类的继承性和多态

  • 对象值的传递、接口

  • static和final修饰符

  • 特殊类的使用:包装类、抽象类、内部类

  • 异常的处理

  • Java基本语法和流程控制

  • ArrayList集合的使用

    该项目主要实现的四个板块:

在这里插入图片描述

project1文件组成:
view(各个功能的视图) :

loginView:登陆时的功能视图;

TeamView:团队管理时的功能视图;

IndexView:主程序入口类,主菜单功能视图;

Utility类:限制用户输入规范数据行为的工具类;

service(各个模块的各种行为实现的方法):

TeamException:自定义异常类;

NameListServirce:开发人员管理模块的各个功能实现方法;

TeamService:团队管理模块的各个功能实现方法;

ProjectService:项目管理模块的各个功能实现方法;

domain(抽象类以及具体类和接口):

Employee:父类员工类,被继承项目所需要的员工子类,提供各员工属性的get/set方法、构造方法、toString()重写;

Project:项目类,提供项目属性的set/get方法、构造方法、toString()重写;


板块一:用户注册和登陆的实现

在这里插入图片描述

实现思路:

①定义一个LoginView来实现用户注册和登陆的功能视图

②定义一个集合用来储存默认用户和新添加用户

③判断输入的数据在集合中有无匹配,没有则调用注册方法

④获取的账户名和密码在集合中匹配,成功则继续下个模块

⑤输入用户名时获取,修改用户名和密码时去匹配

**设计知识点:**集合的使用;java基础语法;流程控制;


板块二:开发人员管理实现

在这里插入图片描述

实现思路:

①在domain中创建各员工子类;

②在NameListService中实现员工增删改查;

③需要创建一个集合存储所有人员,在此集合数据基础上增删改查;

**涉及知识点:**类的继承性和多态对象值的传递;接口static和final修饰符;特殊类的使用:包装类、抽象类;异常的处理;Java基本语法和流程控制;ArrayList集合的使用

所遇到问题:

①static修饰符:块语句和员工集合都要需要用static修饰,在另一个类中调用时才会数据同步,只修饰集合时,在另一个类中实例本集合的类时会再加载一次块语句,那么块语句一共加载了两次,集合中块语句就存了两次;在块语句前也用static修饰,则集合只存一份,且本类所有对象都共享,静态修饰的集合生命周期被加载后会持续到整个程序的结束;

②包装类的使用,数据类型的转换:在判断是否更改用户数据时需要注意;

int i;
double j;
//String转int
String s1 = String.valueOf(i);
//String转double
String s1 = String.valueOf(j);
//int转String
int i1 = Integer.parseInt(s1);
//double转String
double j1 = Double.parseDouble(s1); 

③Scanner部分方法的区别:

next():获取用户用户输入的数据,在输入有效数据前输入空格和回车都不收录,输入有效数据后遇到回车和空格作为结束符;

nextLine():遇到空格和回车作为结束符,收录回车空格;

hasNextLine():判断是否有输入一行数据,包含空格和回车行;


板块三:开发团队调度管理实现

在这里插入图片描述

实现思路:

①需要创建一个存储集合的集合,用来装团队集合,可采用数组,为了数据添加灵活我用的集合;

②遍历装有团队的集合,重写toString()方法的利用;

③删除团队成员时注意id的变化,集合的元素的覆盖,Arrays方法的remove()的使用格外注意索引越界;

**涉及知识点:**类的继承性和多态对象值的传递;异常的处理;Java基本语法和流程控制;ArrayList集合的使用

遇到问题:

①集合的集合定义:

//定义装集合的集合
List<List<E>> = new ArrayList<List<E>>();

②下标容易越界,需格外注意


板块四:开发项目管理实现

在这里插入图片描述

实现思路 :

①提供默认选择项目,写入数据;

②Rondom()方法的随机分配团队给项目

③利用重写toString()打印项目情况

④Arrays.remove()删除项目

⑤限制正在开发中项目不可删除等

**涉及知识点:**类的继承性和多态对象值的传递;异常的处理;Java基本语法和流程控制;ArrayList集合的使用;


**总结:**第一个项目主要是对java基础逻辑设计和类的继承、多态,自定义异常,包装类的考察。在编写时一个项目时应该优先做好整个程序流程图的设计,随后分类好接口抽象类,实现行为类,主程序以及各板块视图文件以及类。再搭建整个代码的程序框架,分析好大概的上层逻辑关系,再在写程序时逐步细化。在编写代码时一定要遵循低耦合高内聚的守则,在封装的方法中就只实现一个行为,若涉及到其他行为则是在程序流程分支时实现。在编写这个项目时我就写了两次,第一次耦合性太高,修改程序时非常麻烦,逻辑关系比较混乱。主要遇到的两个问题就是Next()和NextLine获取内容的区别和不同类中集合数据同步的问题。其他都是逻辑语法与流程控制的实现,多走几遍Bug便知。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值