//设置工作时间 boolean setWorkTime(Date date,double time); }public class Employee {
private WorkSheet workSheet = new WorkSheet() { @Override public void setHoliday(Date[] date) {
}
@Override public boolean setWorkTime(Date date,double time) {
1.进行 date 和 time输入有效性验证
2.填报工作时间有效性验证 if date不是节假日 then { if time 大于最小工作时间 && time 小于最大工作时间 then { 成功写入工作时间信息 return true; } else { 给出提示:填报的工作时间有最大限制和最小限制 return false; } } else { 给出提示信息:节假日不可以设置工作时间 return false; }
}
}
public WorkSheet getPersonalWorkSheet() { return workSheet; } } 测试类 public class TestClass { public static void main(String[] args) { Employee zhangSan = new Employee();
1.应用面向对象的思想
场景描述中的对象包括:员工、工作日历
思想:员工和工作日历的关系,原文描述“每个员工有一个自己的工作日历”,组合关系 has-a
动作:“设置节假日”和“工作时间的有效性的校验过程”
动作归属:设置节假日--设置工作日历的节假日;工作时间的有效性的校验过程--工作日历校验员工的输入;最终动作都属于 工作日历
2.提供一个简单的参考:
interface WorkSheet
{
//设置节假日
void setHoliday(Date[] date);
//设置工作时间
boolean setWorkTime(Date date,double time);
}public class Employee
{
private WorkSheet workSheet = new WorkSheet()
{
@Override
public void setHoliday(Date[] date) {
}
@Override
public boolean setWorkTime(Date date,double time) {
1.进行 date 和 time输入有效性验证
2.填报工作时间有效性验证
if date不是节假日 then
{
if time 大于最小工作时间 && time 小于最大工作时间 then
{
成功写入工作时间信息
return true;
}
else
{
给出提示:填报的工作时间有最大限制和最小限制
return false;
}
}
else
{
给出提示信息:节假日不可以设置工作时间
return false;
}
}
}
public WorkSheet getPersonalWorkSheet()
{
return workSheet;
}
}
测试类
public class TestClass { public static void main(String[] args) {
Employee zhangSan = new Employee();
WorkSheet ws = zhangSan.getPersonalWorkSheet();
//初始化节假日
Date[] holiday = new Date[]{};
ws.setHoliday(holiday);
//每天填写工作时间调用一些这个方法
ws.setWorkTime(date, time);
}}