大话设计模式 状态模式 (二)

2014-11-24 11:22:30 · 作者: · 浏览: 8
}

}

package org.ustc.statemode;

public class EveningState implements State {

@Override
public void writeProgram(Work w) {
// TODO Auto-generated method stub
if(w.isFinished()==true){
w.setState(new RestState());
w.writeProgram();
}else{
if(w.getHour()<20)
System.out.println("好累");
else{
w.setState(new SleepState());
w.writeProgram();
}
}
}

}

[java]
package org.ustc.statemode;

public class RestState implements State {

@Override
public void writeProgram(Work w) {
// TODO Auto-generated method stub
System.out.println("收工 下班咯");
}

}

package org.ustc.statemode;

public class RestState implements State {

@Override
public void writeProgram(Work w) {
// TODO Auto-generated method stub
System.out.println("收工 下班咯");
}

}

[java]
package org.ustc.statemode;

public class SleepState implements State {

@Override
public void writeProgram(Work w) {
// TODO Auto-generated method stub
System.out.println("不行了睡着了"+w.getHour());
}

}

package org.ustc.statemode;

public class SleepState implements State {

@Override
public void writeProgram(Work w) {
// TODO Auto-generated method stub
System.out.println("不行了睡着了"+w.getHour());
}

}

[java]
package org.ustc.statemode;

public class Main {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Work work = new Work();
//work.setHour(20);
//work.setHour(9);
// work.setHour(14);
work.setFinished(true);
work.setHour(20);
work.writeProgram();
}

}

package org.ustc.statemode;

public class Main {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Work work = new Work();
//work.setHour(20);
//work.setHour(9);
// work.setHour(14);
work.setFinished(true);
work.setHour(20);
work.writeProgram();
}

}

\