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. 为何使用thrift-rpc与http的选择

    在工作中偶然看到公司旧架构在loaclserver中使用的是thrift,遂记录一下 thrif作为一种rpc框架 接口描述语言和二进制通信协议,至于为何使用thrift 其问题本质是为何在已有htt ...

  2. 大数据开发-Flink-窗口全解析

    Flink窗口背景 Flink认为Batch是Streaming的一个特例,因此Flink底层引擎是一个流式引擎,在上面实现了流处理和批处理.而Window就是从Streaming到Batch的桥梁. ...

  3. 树莓派 PICO基础教程(基于MicroPython)

    目录 1 树莓派 PICO 简介 1.1 简介 1.2 配置 [^2] 1.3 引脚图 1.4 尺寸 2 安装 2.1 烧录固件 2.2 安装IDE(Thonny IDE) 2.3 离线运行程序 3 ...

  4. Windows登录服务器CLI运行脚本出现 syntax error: unexpected end of file 错误的解决

    0.前言 通常我们在编辑 Linux 服务器上的文件时,直接在 Linux 环境比较麻烦(当然熟练使用 VIM 的程序员除外哈哈),有时我们会使用 Windows 将文件编辑好再上传到服务器端,我用的 ...

  5. archlinux Timeshift系统备份与还原

    安装 timeshif yay -s timeshif 备份设置 选择快照类型 此处选择[RSYNC] 选择储存位置 每台设备安装分区不一样,大家安装实际情况选择,一般选择比较大的空间存储,并且最好是 ...

  6. 如何查看Oracle SID即instance_name 和 dbname区别

    SID 和  instance_name是一个实例名字db_name 是数据库名字搞清两个概念,数据库和实例 实例:实例是数据库启动时初始化的一组进程和内存结构 数据库:数据库则指的是用户存储数据的一 ...

  7. CVPR2019:无人驾驶3D目标检测论文点评

    CVPR2019:无人驾驶3D目标检测论文点评 重读CVPR2019的文章,现在对以下文章进行点评. Stereo R-CNN based 3D Object Detection for Autono ...

  8. TVM设计与构架构建

    TVM设计与构架构建 本文档适用于希望了解TVM体系结构和/或在项目上进行积极开发的开发人员.该页面的组织如下: 实例编译流程Example Compilation Flow描述TVM把一个模型的高级 ...

  9. httprunner 2.5.7 下.env 文件环境变量的使用及debugtalk的使用,对test的参数化及执行

    一.httprunner 2.5.7 下.env  文件的使用 1..env 文件配置如下: 2.debugtalk.py 编写如下: 在debugtalk.py中增加开始和结束执行语句: 3.需要做 ...

  10. Kubernetes 实战——配置应用(ConfigMap、Secret)

    配置容器化应用的方式:①命令行参数:②环境变量:③文件化配置 一.向容器传递命令行参数或环境变量 这两种方式在 Pod 创建后不可被修改 1. 在Docker中定义命令与参数 ENTRYPOINT:容 ...