(1)定义接口:WeatherState,声明方法void showState(); (2) 编写若干个实现WeatherState接口的类,负责刻画天气的各种状态。如: public class CloudyLittleState implements WeatherState{ public void showState(){ System.out.println("少云,有时雨"); } }(3)继续完成HeavyRainState类(大雨)、LightRainState类(小雨)、SunState(晴)等类实现WeatherState接口。(4)编写Weather类,该类中有一个WeatherState接口类型变量的state,有一个setState(WeatherState state)方法,有一个show(),在show()中让接口state调用showState()方法。(5)编写WeatherForecast类,在该类中进行天气预报。如:public class WeatherForecast {public static void main(String[] args) {Weather w=new Weather();System.out.println("今日天气:"); w.setState(new CloudyLittleState( )); w.show(); //其他天气情况【此处添加代码】 //其他天气情况【此处添加代码】 //其他天气情况【此处添加代码】 }} /***************************************************************/
1 回答
按照自己的节奏前行
TA贡献90条经验 获得超70个赞
public class Weather{ //你要说的应该是这个意思,不过没看懂你要指教什么 private WeatherState state =null; public void setState(WeatherState state ){ this.state = state; } public void show(){ this.state.showState(); } }
添加回答
举报
0/150
提交
取消