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());

    }
    }

  • 相关阅读:
    常用排序算法
    多线程基础知识 转
    转 大型项目架构演进过程
    TCP/IP 思维导图
    Java8 List字符串 去重
    docker lnmp php
    jpa 批量插入
    备忘提醒
    IntelliJ IDEA像Eclipse一样打开多个项目(转)
    IntelliJ Idea 常用快捷键列表
  • 原文地址:https://www.cnblogs.com/cyz110/p/6527987.html
Copyright © 2011-2022 走看看