请高手讲解一下状态模式 最好有源码说明,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我理解的是状态模式是允许对象可根据其状态改变自身的行为.比如同一行为,在不同状态的时候所提供的实现不同.例如abstract class 员工张三{ public void 干活();}class 在职 extends 员工张三{ public void 开发(){ print("哦,知道了."); }}class 离职 extends 员工张三{ public void 开发(){ print("去死,老子不干了!"); }}class 经理{ print 员工张三 张三; public vlid 来项目了(){ 张三.开发(); } public void 设置张三(员工张三 张三){ this.张三 = 张三; }}以上为个人理解.如有错误,望高手指点! 刚复习了一下状态模式.状态模式与策略模式的区别有21.考察环境角色是否有明显的状态和状态的过渡.2.策略模式的环境类是自己选择一个具体的策略类.而状态模式的环境类是被外在原因放进一个具体的状态中.我想通过这个方法说明这点的. public void 设置张三(员工张三 张三){ this.张三 = 张三; }呵呵.大家一起讨论讨论~共同进步:) abstract class 员工张三{ public void 干活();}class 在职 extends 员工张三{ public void 开发(){ print("哦,知道了."); }}在职没有实现员工张三的抽象方法吧,手误?应该把干活改成开发 状态模式有两个关键因素:状态和行为状态可以触发行为,行为可以导致状态的改变传统的开发方式是使用if else switch等逻辑语句控制的。。这样必然导致系统的复杂性了。。如下就是利用oo的思想来控制行为和状态即使用了状态模式 “对象的引用”是什么意思? java获取jpg图片的Exif信息? jdbc问题! 不理解!! 菜鸟问题 UDP包 问一个很弱的问题 关于数组 如何获取鼠标所在位置的组件? 不能出问题的问题???!!! 初学告急,各位大虾帮忙进来看看!!! AWT的Window问题 有谁用java做过acm上的题,请过来帮一下. applet可以自作多窗口和弹出窗口程序吗?
状态模式是允许对象可根据其状态改变自身的行为.比如同一行为,在不同状态的时候所提供的实现不同.例如abstract class 员工张三{
public void 干活();
}class 在职 extends 员工张三{
public void 开发(){
print("哦,知道了.");
}
}
class 离职 extends 员工张三{
public void 开发(){
print("去死,老子不干了!");
}
}
class 经理{
print 员工张三 张三; public vlid 来项目了(){
张三.开发();
} public void 设置张三(员工张三 张三){
this.张三 = 张三;
}
}
以上为个人理解.
如有错误,望高手指点!
状态模式与策略模式的区别有2
1.考察环境角色是否有明显的状态和状态的过渡.
2.策略模式的环境类是自己选择一个具体的策略类.而状态模式的环境类是被外在原因放进一个具体的状态中.我想通过这个方法说明这点的. public void 设置张三(员工张三 张三){
this.张三 = 张三;
}
呵呵.大家一起讨论讨论~共同进步:)
abstract class 员工张三{
public void 干活();
}class 在职 extends 员工张三{
public void 开发(){
print("哦,知道了.");
}
}
在职没有实现员工张三的抽象方法吧,手误?
应该把干活改成开发
状态可以触发行为,行为可以导致状态的改变传统的开发方式是使用if else switch等逻辑语句控制的。。这样必然导致系统的复杂性了。。如下就是利用oo的思想来控制行为和状态即使用了状态模式