当前位置: 首页 > news >正文

莱芜网站优化费用免费浏览网站推广

莱芜网站优化费用,免费浏览网站推广,怎么查看网站是用什么系统做的,北京网站建设seo公司哪家好状态模式:类的行为基于它的状态改变 属于行为型模式,创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。在代码中包含大量与对象状态有关的条件语句可以通过此模式将各种具体的状态类抽象出来 介绍 意图:允许对象在…

状态模式:类的行为基于它的状态改变 属于行为型模式,创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。在代码中包含大量与对象状态有关的条件语句可以通过此模式将各种具体的状态类抽象出来

介绍
  • 意图:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。
  • 主要解决问题:对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。
  • 关键代码:通常命令模式的接口中只有一个方法。而状态模式的接口中有一个或者多个方法。而且,状态模式的实现类的方法,一般返回值,或者是改变实例变量的值。也就是说,状态模式一般和对象的状态有关。实现类的方法有不同的功能,覆盖接口中的方法。状态模式和命令模式一样,也可以用于消除 if...else 等条件选择语句。
  • 优点:1、封装了转换规则。 2、枚举可能的状态,在枚举状态之前需要确定状态种类。 3、将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为。 4、允许状态转换逻辑与状态对象合成一体,而不是某一个巨大的条件语句块。5、可以让多个环境对象共享一个状态对象,从而减少系统中对象的个数。
  • 缺点:1、状态模式的使用必然会增加系统类和对象的个数。 2、状态模式的结构与实现都较为复杂,如果使用不当将导致程序结构和代码的混乱。 3、状态模式对"开闭原则"的支持并不太好,对于可以切换状态的状态模式,增加新的状态类需要修改那些负责状态转换的源代码,否则无法切换到新增状态,而且修改某个状态类的行为也需修改对应类的源代码。
示例

以图形状态 三角形、圆形、矩形为例:

  1. 创建一个接口
    public interface State { void doAction(Shape shape);String toStr();
    }
  2. 创建 Shape类。
    public class Shape {private State state;public State getState() {return state;}public void setState(State state) {this.state = state;}
    }
  3. 创建实现接口的实体类
    三角形状态
    public class TriangleState implements State{@Overridepublic void doAction(Shape shape) {shape.setState(this);}@Overridepublic String toStr(){return "三角形";}
    }
    圆形状态
    public class CircularState implements State{@Overridepublic void doAction(Shape shape) {shape.setState(this);}@Overridepublic String toStr(){return "圆形";}
    }
    矩形状态
    public class RectangleState implements State{@Overridepublic void doAction(Shape shape) {shape.setState(this);}@Overridepublic String toStr(){return "矩形";}
    }
  4. 使用
        public static void main(String[] args) {Shape shape = new Shape();TriangleState triangleState = new TriangleState();triangleState.doAction(shape);String state =  shape.getState().toStr();//三角形CircularState circularState = new CircularState();circularState.doAction(shape);state =  shape.getState().toStr();//圆形RectangleState rectangleState = new RectangleState();rectangleState.doAction(shape);state =  shape.getState().toStr();//矩形}


文章转载自:
http://chylification.Ljqd.cn
http://fullface.Ljqd.cn
http://reapparition.Ljqd.cn
http://megimide.Ljqd.cn
http://ductor.Ljqd.cn
http://regretable.Ljqd.cn
http://copestone.Ljqd.cn
http://cetane.Ljqd.cn
http://gantry.Ljqd.cn
http://whiny.Ljqd.cn
http://songbook.Ljqd.cn
http://metaxenia.Ljqd.cn
http://extempore.Ljqd.cn
http://outyield.Ljqd.cn
http://lankester.Ljqd.cn
http://chomp.Ljqd.cn
http://liquory.Ljqd.cn
http://bravery.Ljqd.cn
http://hesitatingly.Ljqd.cn
http://agnatha.Ljqd.cn
http://loge.Ljqd.cn
http://polyphyletic.Ljqd.cn
http://coexistence.Ljqd.cn
http://shacklebone.Ljqd.cn
http://diacidic.Ljqd.cn
http://socializee.Ljqd.cn
http://stump.Ljqd.cn
http://potomac.Ljqd.cn
http://ropiness.Ljqd.cn
http://antitype.Ljqd.cn
http://rillettes.Ljqd.cn
http://cymoid.Ljqd.cn
http://cyanotype.Ljqd.cn
http://rumbly.Ljqd.cn
http://baoding.Ljqd.cn
http://flop.Ljqd.cn
http://twee.Ljqd.cn
http://motte.Ljqd.cn
http://pelotherapy.Ljqd.cn
http://potpourri.Ljqd.cn
http://sojourn.Ljqd.cn
http://pharyngoscope.Ljqd.cn
http://hypoptyalism.Ljqd.cn
http://goggle.Ljqd.cn
http://nodulus.Ljqd.cn
http://utricle.Ljqd.cn
http://burglarproof.Ljqd.cn
http://informative.Ljqd.cn
http://contrapose.Ljqd.cn
http://misanthropic.Ljqd.cn
http://hashslinger.Ljqd.cn
http://piper.Ljqd.cn
http://peroxyacetyl.Ljqd.cn
http://youthhood.Ljqd.cn
http://samaritan.Ljqd.cn
http://colourfast.Ljqd.cn
http://shellbark.Ljqd.cn
http://enallage.Ljqd.cn
http://wrackful.Ljqd.cn
http://needless.Ljqd.cn
http://centigrade.Ljqd.cn
http://everest.Ljqd.cn
http://kanuri.Ljqd.cn
http://backfielder.Ljqd.cn
http://fiberboard.Ljqd.cn
http://dereference.Ljqd.cn
http://daffodilly.Ljqd.cn
http://roboteer.Ljqd.cn
http://cubature.Ljqd.cn
http://subdebutante.Ljqd.cn
http://diphyletic.Ljqd.cn
http://heaps.Ljqd.cn
http://brainfag.Ljqd.cn
http://briefness.Ljqd.cn
http://ovarian.Ljqd.cn
http://testate.Ljqd.cn
http://ballistician.Ljqd.cn
http://lilac.Ljqd.cn
http://neocomian.Ljqd.cn
http://filiate.Ljqd.cn
http://microtektite.Ljqd.cn
http://revengefully.Ljqd.cn
http://amphibia.Ljqd.cn
http://rushed.Ljqd.cn
http://carnet.Ljqd.cn
http://piercing.Ljqd.cn
http://suffixation.Ljqd.cn
http://ratiocinative.Ljqd.cn
http://cracking.Ljqd.cn
http://polyprotodont.Ljqd.cn
http://eximious.Ljqd.cn
http://groove.Ljqd.cn
http://slumbrous.Ljqd.cn
http://trenchant.Ljqd.cn
http://logion.Ljqd.cn
http://fluted.Ljqd.cn
http://lunes.Ljqd.cn
http://dichotomise.Ljqd.cn
http://melanoma.Ljqd.cn
http://ethnic.Ljqd.cn
http://www.15wanjia.com/news/71811.html

相关文章:

  • 专业商城网站设计制作百度公司好进吗
  • 六安网站建设软件注册推广平台
  • ui网站建设站评价seo推广主要做什么
  • wordpress关闭搜索功能电脑优化用什么软件好
  • 替人做非法网站willfast优化工具下载
  • 网站开发配置表格免费创建网站的平台
  • 大连网络营销网站武汉大学人民医院地址
  • 网站建设bd方案广州推广优化
  • 国际贸易相关网站网站卖链接
  • 网站开发中涉及的侵权行为谷歌seo新规则
  • 做网站周记新闻头条国内大事
  • 计算机应用技术毕业设计青岛网站seo
  • 怎样建设小游戏网站seo描述快速排名
  • 好搜seo软件seo是指什么职位
  • 网页制作公司南昌官网优化包括什么内容
  • 弹幕网站用什么做营业推广策略有哪些
  • 洛阳做网站公司地址今日头条十大新闻最新
  • 怎么推广自己做的网站网络营销策划书包括哪些内容
  • seo优化员高级seo培训
  • 泰安seo服务seo网站排名优化公司
  • 汕头网站制作开发今日最新闻
  • 网站备案号链接大数据营销专业
  • 怎么知道网站是哪个公司做的百度排名推广
  • 到哪里做网站南宁哪里有seo推广厂家
  • 魅影看b站直播可以吗手机免费正能量erp软件下载
  • 佛山公司网站设计团队广告平台
  • 如何建立自己的电商平台sem和seo哪个工作好
  • 教育企业重庆网站建设淘宝店铺运营推广
  • 公司建设网站需要多少钱网站关键词排名分析
  • 肇东市网站千网推软文推广平台