Program:按照如下要求设计类:

(1)设计一个日期类,用于记录年、月、日,并提供对日期处理的常用方法。

(2)设计一个职工类,该职工类至少具有下面的属性:职工号,姓名,性别,生日,工作部门,参加工作时间,设计相应的方法。

(3)设计一个测试类,采用对象数组模拟一个拥有10个职工的单位。

以下是日期类和员工类的实现

Program:按照如下要求设计类:

(1)设计一个日期类,用于记录年、月、日,并提供对日期处理的常用方法。

(2)设计一个职工类,该职工类至少具有下面的属性:职工号,姓名,性别,生日,工作部门,参加工作时间,设计相应的方法。

(3)设计一个测试类,采用对象数组模拟一个拥有10个职工的单位。

以下是日期类和员工类的实现

/*
* Description:定义日期时间类
*
* Written By:Cai
*
* Date Written:2017-10-09
*
*
* */ package entity; public class MyDate { private String year; //年
private String month; //月
private String day; //日   //定义构造方法
public MyDate() { } public MyDate(String year,String month,String day) { this.year = year;
this.month = month;
this.day = day;
} //定义setter和getter方法
public String getYear() {
return year;
} public void setYear(String year) {
this.year = year;
} public String getMonth() {
return month;
} public void setMonth(String month) {
this.month = month;
} public String getDay() {
return day;
} public void setDay(String day) {
this.day = day;
} //覆写toString()方法
public String toString() {
return this.year + "年" + this.month + "月" + this.day + "日";
} }
 1 /*
2 * Description:定义职工类
3 *
4 * Written By:Cai
5 *
6 * Date Written:2017-10-09
7 *
8 *
9 * */
10
11 package entity;
12
13 import entity.MyDate;
14
15 public class Worker {
16
17 String workerId; //职工号
18 String workerName; //职工姓名
19 String workerSex; //职工性别
20 String workerPartment; //职工部门
21 MyDate workerBirthday; //职工生日
22 MyDate workerBeginDate; //职工开始工作时间
23
24
25 //定义构造方法
26 public Worker() {
27
28 }
29
30 public Worker(String id,String name,String sex,String partment,MyDate birthday,MyDate beginDate) {
31
32 this.workerId = id;
33 this.workerName = name;
34 this.workerSex = sex;
35 this.workerPartment = partment;
36 this.workerBirthday = birthday;
37 this.workerBeginDate = beginDate;
38 }
39
40
41 //定义setter和getter方法
42 public String getWorkerId() {
43 return workerId;
44 }
45
46 public void setWorkerId(String workerId) {
47 this.workerId = workerId;
48 }
49
50 public String getWorkerName() {
51 return workerName;
52 }
53
54 public void setWorkerName(String workerName) {
55 this.workerName = workerName;
56 }
57
58 public String getWorkerSex() {
59 return workerSex;
60 }
61
62 public void setWorkerSex(String workerSex) {
63 this.workerSex = workerSex;
64 }
65
66 public String getWorkerPartment() {
67 return workerPartment;
68 }
69
70 public void setWorkerPartment(String workerPartment) {
71 this.workerPartment = workerPartment;
72 }
73
74 public MyDate getWorkerBirthday() {
75 return workerBirthday;
76 }
77
78 public void setWorkerBirthday(MyDate workerBirthday) {
79 this.workerBirthday = workerBirthday;
80 }
81
82 public MyDate getWorkerBeginDate() {
83 return workerBeginDate;
84 }
85
86 public void setWorkerBeginDate(MyDate workerBeginDate) {
87 this.workerBeginDate = workerBeginDate;
88 }
89
90 //覆写toString方法
91 @Override
92 public String toString() {
93 return "Worker [workerId=" + workerId + ", workerName=" + workerName
94 + ", workerSex=" + workerSex + ", workerPartment="
95 + workerPartment + ", workerBirthday=" + workerBirthday
96 + ", workerBeginDate=" + workerBeginDate + "]";
97 }
98
99 }

下面是测试类

 1 /*
2 * Description:定义测试类,模拟十个职工的单位
3 *
4 * Written By:Cai
5 *
6 * Date Written:2017-10-09
7 *
8 * */
9
10 package main;
11
12 import entity.*;
13
14 public class TestDemo {
15
16 public static void main(String args[]) {
17
18 Worker[] workers = new Worker[10]; //声明Worker类数组对象,大小为10
19
20 //为数组对象依次赋值
21 for( int i = 0; i < 10; i++ ) {
22
23 workers[i] = new Worker("00000" + i,"worker_" + i,"男","办公室" + i,new MyDate("2017","10",(i + 1) + "" ),new MyDate("2017","11","" + (i + 1) ));
24 }
25
26 //打印数组对象
27 display(workers);
28
29 }
30
31 //定义方法,打印Worker类的数组对象信息
32 public static void display(Worker[] workers) {
33
34 for( int i = 0; i < workers.length; i++ ) {
35 System.out.println( workers[i] );
36 }
37 }
38
39 }

Java实验项目三——面向对象定义职工类和日期类的更多相关文章

  1. Java实验项目三——职工类对象数组按照职工生日排序

    Program: 修改项目三(1)中的第3题,实现比较方法,将对象数组的数据按照生日的大小给职工排序. Description:令日期类MyDate和员工类Worker类实现接口Comparable, ...

  2. Java实验项目三——编程实现Person类,学生类的设计及其继承关系

    Program: 编程实现Person类,学生类的设计及其继承关系 代码如下: 定义抽象类Person 1 /* 2 * Description:建立抽象类 3 * 4 * Written By:Ca ...

  3. Java实验项目三——平面图形和立体图形抽象类

    Program:按照下面要求完成类的设计 (1)设计一个平面图形抽象类和一个立体图形抽象类,提供该类对象公共的方法和属性. (2)修改项目三中第2题中所设计的球类.圆柱类,圆锥类.矩形类.三角形类.圆 ...

  4. Java实验项目三——采用面向对象的方式设计线性表

    Program: 采用面向对象的方法设计一个线性表,目的是为其他需要用线性表的应用提供线性表对象. 1.list包中,定义线性表类 1 /* 2 * Description:定义线性表类 3 * 4 ...

  5. Java实验项目三——宠物商店

    Program:宠物商店的设计(继承,接口,线性线性表) Description:本题未实现图形用户界面,项目结构描述如下: classes.Pet:定义宠物接口,只要实现该接口的宠物类,都可存储进宠 ...

  6. Java实验项目三——简单工厂模式

    Program: 请采用采用简单工厂设计模式,为某个汽车销售店设计汽车销售系统,接口car至少有方法print(), 三个汽车类:宝马.奥迪.大众 (属性:品牌,价格),在测试类中根据客户要求购买的汽 ...

  7. Java实验项目三——递归实现字符串查找和替换操作

    Program:按照下面要求实现字符串的操作: (1)设计一个提供下面字符串操作的类 1)编写一个方法,查找在一个字符串中指定字符串出现的次数. 2)编写一个方法,参数(母字符串,目标字符串,替换字符 ...

  8. 20135231 JAVA实验报告三:敏捷开发与XP实践

    ---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...

  9. 日历类和日期类转换 并发修改异常 泛型的好处 *各种排序 成员和局部变量 接口和抽象类 多态 new对象内存中的变化

    day07 ==和equals的区别? ==用于比较两个数值 或者地址值是否相同.  equals 用于比较两个对象的内容是否相同   String,StringBuffer.StringBuilde ...

随机推荐

  1. 1.4linux文件和目录常用命令

    文件和目录常用命令 目标 查看目录内容 ls 切换目录 cd 创建和删除操作 touch rm mkdir 拷贝和移动文件 cp mv 查看文件内容 cat more grep 其他 echo 重定向 ...

  2. 提高IO输出速度

    用DMA内存到内存的模式,直接把Gpio_data的数据循环的搬到GPIOC的BSRR寄存器上来控制GPIOC上电平的翻转,这样使得GPIO的速度达到了最快,输出70ns的脉宽,这已经是达到了DMA总 ...

  3. Freemaker生成复杂样式图片并无文件损坏的excel

    Freemaker生成复杂样式图片并无文件损坏的excel 参考Freemarker整合poi导出带有图片的Excel教程,优化代码实现 功能介绍:1.支持Freemarker导出Excel的所有功能 ...

  4. LNMP环境搭建与配置

    lnmp就是 Linux+nginx + mysql + PHP,把Apache替换为Nginx: 这里我用到的Linux环境为为centos,接下来就分步骤来一步步安装及测试. 一.安装php 参考 ...

  5. Java必会之多线程

    一.线程的基本知识 1.1 线程知识 进程和线程的关系和区别 线程: 线程是进程的基本执行单元,进程想要执行任务,必须要有线程.程序启动默认开启一条线程,这个线程被称为主线程. 进程: 进程是指在系统 ...

  6. .Net Core gRPC 实战(二)

    概述 gRPC 客户端必须使用与服务相同的连接级别安全性.  如调用服务时通道和服务的连接级别安全性不一致,gRPC 客户端就会抛出错误. gRPC 配置使用HTTP gRPC 客户端传输层安全性 ( ...

  7. Step By Step(Lua环境)

    Step By Step(Lua环境) Lua将其所有的全局变量保存在一个常规的table中,这个table被称为"环境".它被保存在全局变量_G中.    1. 全局变量声明:  ...

  8. redis主从架构宕机问题手动解决

    1    主机宕机 1.  设置端口6379是主机,端口6380是从机,全部都正常启动 2.  验证在6379写入数据,在6380也能得到数据 3.  现在将6379主机停掉,模拟主机宕机 4.  由 ...

  9. .Net Core Api发布时报502.5 [The Application process failed to Start]问题的解决原因

       碰到这样的错误,在网上找了很久很久.我自己在部署的时候已经把Core 部署需要的环境包在服务器安装好了.还会报这个错,然后在网上找的安装了一个系统补丁包!安装之后还是不行.最后我把服务器重启了一 ...

  10. 神经网络AI加速器技术

    神经网络AI加速器技术 能够直接加速卷积神经网络,还能够直接运行常见的网络框架,如TensorFlow.Caffe.PyTorch,DarkNet等,支持用户定制化的网络和计算类型. 功能特点: ● ...