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

    }
    }

  • 相关阅读:
    前端PHP入门-030-文件函数API
    前端PHP入门-029-文件操作-掌握级别
    前端PHP入门-028-文件操作-掌握级别
    前端PHP入门-027-数组常用函数-掌握级别
    SVM 支持向量机
    java 设计模式
    Linear Regreesion
    java 小结1(static ,final,泛型)
    概念介绍(机器学习)
    集成学习 概念介绍
  • 原文地址:https://www.cnblogs.com/cyz110/p/6527987.html
Copyright © 2020-2023  润新知