android设计模式二十三式(二十)——状态模式(State)

状态模式

庄陶模式非常简单,就是根据某一个类值的变化,显示不同的状态,也可以有不同的操作,我们经常会用到。

还是举个栗子:

当我们打电话的时候,有呼叫中,通话总,通话结束,还有一个是通话中有另一个人再次呼入的多方呼叫状态,根据不用的状态,我们可以选择是接听还是挂断。

/**
 * @author: hx
 * @Time: 2019/5/23
 * @Description: State
 */
public class State {

    /**
     * 状态值,0位初始值,1位呼叫中,2为通话中,3为通话结束,4为多方呼叫,5为来电
     */
    private int State = 0;

    public int getState() {
        return State;
    }

    public void setState(int state) {
        State = state;
    }
}

/**
 * @author: hx
 * @Time: 2019/5/23
 * @Description: Call
 */
public class Call {
    private State mState;

    public Call(State state) {
        mState = state;
    }

    public State getState() {
        return mState;
    }

    public void setState(State state) {
        mState = state;
    }

    public void conver(){
        switch(mState.getState()){
            case 1:
                System.out.println("当前为呼叫,可挂断");
                break;
            case 2:
                System.out.println("当前为通话中,可挂断");
                break;
            case 3:
                System.out.println("当前为通话结束,不可操作");
                break;
            case 4:
                System.out.println("当前为多方通话,可切换,可挂断");
                break;
            case 5:
                System.out.println("当前为来电,可接听,可挂断");
                break;
            default:
                System.out.println("当前状态异常");
                break;
        }
    }
}

 简单的试一下

public static void main(String[] args){
    State state = new State();
    Call call = new C
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值