办公信息化管理系统
某公司要开发内部的 “办公信息化管理系统”,请使用面向对象的思想描述以下员工信息。
任务描述
一、语言和环境
❤实现语言
Java语言
❤环境要求及开发工具
JDK、Eclipse
二、程序整体要求
- 划分功能模块,根据题目要求设置不同的类,在类中实现相应功能的管理。
- 类的标识要清楚易懂,代码结构要层次分明,代码编辑思路要清晰、整洁。
- 要求Java代码书写、命名符合规范,属性所属数据类型要准确合理,在代码中添加必要的注释
- 程序运行效果与提供的页面效果图、结构保持一致,信息间分隔符“=”号数量不做统一要求,文字 大小、颜色也不做统一要求
三、思路分析: 由场景和运行效果,可以分析出项目中可以抽取如下类(要求编码时注意面向对象思想及封装特性的 应用):
部门类:
类型描述:能够描述部门编号、部门名称、员工数组、统计部门中的员工个数
要求:设定方法统计该部门员工个数
提示:部门类的属性有四个,分别是部门编号,部门名称,员工数组 和 统计变量 ,具体是市场 部还是人事部,是通过部门类的对象来表示的,如果是市场部的对象,那么添加并统计的就是市 场部的人数,同样如果是人事部的对象,添加并统计的就是人事部的人数
职务类:
类型描述:能够描述职务编号、职务名称
员工类:
类型描述:能够描述员工姓名、工号、年龄、性别、所属部门、职务信息
要求: 设定方法限定年龄只能是18–65之间,反之则设置默认为18岁 设定方法限定性别只能是“男”或者“女”,反之则设置默认为"男" 设定方法,实现员工自我介绍信息,将员工信息作为字符串返回 测试类: 类型描述:测试程序,并参照效果图输出结果
PS:注意:可以在属性上添加适当的信息验证,提高信息的安全性
代码如下
public class Duty {
private String dutyNum;
private String dutyName;
public Duty() {
}
public Duty(String dutyNum,String dutyName) {
this.setDutyName(dutyName);
this.setDutyNum(dutyNum);
}
public String getDutyNum() {
return dutyNum;
}
public void setDutyNum(String dutyNum) {
this.dutyNum = dutyNum;
}
public String getDutyName() {
return dutyName;
}
public void setDutyName(String dutyName) {
this.dutyName = dutyName;
}
}
public class Department {
//部门编号、部门名称、员工人数
private String departmentNum;
private String departmentName;
private int staffNum;
private Staff[] myStaffs;
public Department() {
}
public Department(String departmentNum,String departmentName) {
this.setDepartmentName(departmentName);
this.setDepartmentNum(departmentNum);
}
public String getDepartmentNum() {
return departmentNum;
}
public void setDepartmentNum(String departmentNum) {
this.departmentNum = departmentNum;
}
public String getDepartmentName() {
return departmentName;
}</