zoukankan      html  css  js  c++  java
  • java设计模式之状态模式

    比如酒店房间有不同的状态,通过共有的类去设置酒店不同的状态,如空闲,已入住,已预订。

    package state;

    public interface State {
    void handle();
    }

    //空闲房价实现State借口,重写handle方法

    package state;

    public class FreeState implements State {

    @Override
    public void handle() {
    // TODO Auto-generated method stub
    System.out.println("房价空闲!");
    }

    }

    package state;

    public class CheckedState implements State {

    @Override
    public void handle() {
    // TODO Auto-generated method stub
    System.out.println("房价已预订!别人不能定");
    }

    }

    package state;

    public class BookedState implements State {

    @Override
    public void handle() {
    // TODO Auto-generated method stub
    System.out.println("房间已入住,请勿打扰");
    }

    }

    //改变房间的状态类,用于操作各个放房间的类。

    package state;

    public class HomeContext {
    private State state;
    public void setState(State s){
    System.out.println("修改状态");
    state=s;
    state.handle();
    }
    }

    //测试一下改变状态的类

    package com.state;

    public class Client {
    public static void main(String[] args) {
    HomeContext htc=new HomeContext();
    htc.setState(new FreeState());

    }
    }

  • 相关阅读:
    js将url转换二维码
    百度地图api使用
    js字符串转日期兼容性
    Object.keys的使用
    Web App和Native App的比较
    数组转为对象
    常用meta整理
    git merge和git rebase的区别
    GitHub 翻译之 'Hello-world' 翻译
    js数据类型
  • 原文地址:https://www.cnblogs.com/cyz110/p/6527987.html
Copyright © 2011-2022 走看看