状态是行为设计模式之一,其中类的行为根据其状态而变化。
关键概念:
上下文:行为根据状态变化的类/对象
状态:抽象状态
具体状态:代表各种状态,它改变context类的行为。
让我们通过一个例子来理解这一点:
state.java
public interface state { public void doaction(context context); }
登录后复制
国家具体实施
public class startstate implements state { private context context; public startstate(){} @override public void doaction(context context){ this.context = context; this.context.setstate(this); system.out.println("player is in startstate"); } public string tostring(){ return "start state"; } } public class endstate implements state { private context context; public endstate(){} @override public void doaction(context context){ this.context = context; this.context.setstate(this); system.out.println("player is in endstate"); } public string tostring(){ return "end state"; } }
登录后复制
主要
public class main { public static void main(string args[]){ context context = new context(); state state = new startstate(); state.doaction(context); //current state system.out.println(context.getstate().tostring()); state state2 = new endstate(); state2.doaction(context); //new state system.out.println(context.getstate().tostring()); } }
登录后复制
输出:
Player is in StartState Start State Player is in EndState End State
登录后复制
注意:以上代码遵循isp、lsp、srp、ocp的扎实原则
以上就是状态的详细内容,更多请关注抖狐科技其它相关文章!
本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢
-
地窖食堂发售时间介绍
探索地窖食堂的温馨治愈世界准备踏入地窖食堂,一款以温馨与治愈为核心的模拟经营游戏!在这个迷人世界中,玩家将体验到独特的经营乐趣和轻松愉悦的游戏氛围。作为一名食堂老板,你的职责是营造一个温馨的环境,为顾...
-
360浏览器为什么老是崩溃 360安全浏览器老是崩溃解决方法
360浏览器总是崩溃,令人头疼不已!php小编西瓜来告诉你原因:360浏览器崩溃可能与浏览器版本过旧、插件冲突、系统兼容性差、内存不足等有关。为了解决此问题,请关注以下详细内容:升级浏览器版本禁用不必...
-
元气桌面如何设置在桌面右键菜单显示更换壁纸
你知道如何让元气桌面在桌面右键菜单中显示更换壁纸选项吗?php小编鱼仔整理了步骤指南,帮助你轻松完成设置。以下文章将详细介绍如何操作,让你的桌面美化更加便捷。 设置方法: 1、双击打开软件,点击右上...
-
优酷会员怎么共享给自己
回答:可以通过优酷会员创建家庭成员共享。步骤:登录优酷,进入“我的”页面。点击“家庭成员”并选择“添加成员”。输入共享会员的邮箱或手机号,发送邀请。对方接受邀请,即可完成共享。每个优酷会员可共享给 4...
-
怎么识别抖音官方旗舰店真假?抖音如何买到官方正品?
随着抖音平台购物的兴起,消费者如何辨别真假抖音官方旗舰店成为一大难题。php小编小新将详细阐述这个问题,旨在帮助消费者安心购物,避免上当受骗。阅读本篇文章,您将了解抖音官方旗舰店的特征、常见仿冒手段以...