1.背景:
MM的状态是非常不固定的,说不定刚才还非常高兴,没准一会就生气了。就跟六月的天似的,说变就变。
封装一下MM的状态:smile,cry,say;MM的状态决定了这些方法该怎么执行.
2.代码:
Boy.java:
package com.cy.dp.state; public class Boy { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
状态类:State.java(抽象类,具体实现交给子类)
//状态类 public abstract class State { public abstract void smile(); public abstract void cry(); public abstract void say(); }
HappyState.java (高兴状态)
package com.cy.dp.state; public class HappyState extends State { @Override public void smile() { // happy smile } @Override public void cry() { // happy cry } @Override public void say() { // happy say } }