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

伊春网站建设网页传奇游戏怎么注销

伊春网站建设,网页传奇游戏怎么注销,网站免费网站免费,做性视频网站有哪些官方定义#xff1a; 里氏替换原则#xff08;Liskov Substitution Principle#xff0c;LSP#xff09;是由麻省理工学院计算机科学系教授芭芭拉利斯科夫于 1987 年在“面向对象技术的高峰会议”#xff08;OOPSLA#xff09;上发表的一篇论文《数据抽象和层次》#…官方定义 里氏替换原则Liskov Substitution PrincipleLSP是由麻省理工学院计算机科学系教授芭芭拉·利斯科夫于 1987 年在“面向对象技术的高峰会议”OOPSLA上发表的一篇论文《数据抽象和层次》Data Abstractionand Hierarchy里提出的. 她在论文中提到如果S是T的子类型对于S类型的任意对象如果将他们看作是T类型的对象则对象的行为也理应与期望的行为一致。 子类对象能够替换程序中父类对象出现的任何地方并且保证原来程序的逻辑行为不变及正确性不被破坏。 如何理解里氏替换原则 要理解里氏替换原则其实就是要理解两个问题 什么是替换 什么是与期望行为一致的替换Robert Martin所说的“必须能够替换” 1 ) 什么是替换 ? 替换的前提是面向对象语言所支持的多态特性同一个行为具有多个不同表现形式或形态的能力。 2 ) 什么是与期望行为一致的替换 在不了解派生类的情况下仅通过接口或基类的方法即可清楚的知道方法的行为而不管哪种派生类的实现都与接口或基类方法的期望行为一致。 不需要关心是哪个类对接口进行了实现,因为不管底层如何实现,最终的结果都会符合接口中关于方法的描述(也就是与接口中方法的期望行为一致). 或者说接口或基类的方法是一种契约使用方按照这个契约来使用派生类也按照这个契约来实现。这就是与期望行为一致的替换。 场景案例 比如在一个商城项目中,有3种促销活动 1)PromotionalStrategy 满减活动两百以上百八折 2)RebateStrategy打折活动 3)ReduceStrategy返现活动 public interface Istrategy {public double realPrice(double consumePrice); } public class PromotionalStrategy implements Istrategy {public double realPrice(double consumePrice) { if (consumePrice 200) { return 200 (consumePrice - 200) * 0.8; } else { return consumePrice; } } } public class RebateStrategy implements Istrategy { private final double rate; public RebateStrategy() { this.rate 0.8; } public double realPrice(double consumePrice) { return consumePrice * this.rate; } } public class ReduceStrategy implements Istrategy { public double realPrice(double consumePrice) { if (consumePrice 1000) { return consumePrice - 200; } else { return consumePrice; } } }调用方为Context在此类中使用接口定义了一个对象 public class Context { //使用基类定义对象变量 private Istrategy strategy; // 注入当前活动使用的具体对象 public void setStrategy(Istrategy strategy) { this.strategy strategy; } // 计算并返回费用 public double cul(double consumePrice) { // 使用具体商品促销策略获得实际消费金额 double realPrice this.strategy.realPrice(consumePrice); // 格式化保留小数点后1位即精确到角 BigDecimal bd new BigDecimal(realPrice); bd bd.setScale(1, BigDecimal.ROUND_DOWN); return bd.doubleValue(); } }Context 中代码使用接口定义对象变量这个对象变量可以是实现了lStrategy 接口的PromotionalStrategy、RebateStrategy 、 ReduceStrategy任意一个。 里氏代换原则与多态的区别 ? 虽然从定义描述和代码实现上 来看多态和里式替换有点类似但它们关 注的角度是不一样的。多态是面向对象编程的一 大特性也是面向对象编 程语言的一种语法。它是一种代码实现的思路。而里式替换是一种 设计原 则用来指导继承关系中子类该如何设计子类的设计要保证在替换父类 的时候不 改变原有程序的逻辑及不破坏原有程序的正确性。 里氏替换原则和依赖倒置原则构成了面向接口编程的基础正因为里氏替换 原则才使得程序呈现多样性。
http://www.dnsts.com.cn/news/12464.html

相关文章:

  • 网站搬家广州建网站藤虎
  • 用自己服务器做网站用备案可以下载源程序的网站
  • 可以仿做网站吗wordpress 4.5下载地址
  • 外贸营销网站建设介绍汽车网页
  • wdcp 网站无法访问一对一视频软件开发
  • wordpress漫画主题推荐优化大师的作用
  • 济南做网站企业wordpress weiaid
  • 有哪些好的网站项目wordpress 首页弹窗
  • 做印刷厂网站学校网站定位
  • 颜色搭配对网站重要性外包公司是干啥的
  • 音乐网站答辩做网站的资源有哪些
  • 上海专业网站建设维护专业自动化网站建设
  • 网站开发需求分析用的图企业网站报价表
  • 微网站 网页做网站 做应用
  • 沧州建网站网站建设专家价格
  • 手机如何免费做网站王烨医生
  • 照明网站建设wordpress建站好么
  • 找别人做的网站怎样修改wordpress 插件推荐
  • 四川鸿业建设集团公司网站网站在线访谈栏目建设
  • 利用网盘 建网站个人电脑可以做网站服务器
  • 制作商城网站开发自建网站的好处
  • seo百度站长工具查询百度网址收录提交入口
  • 建设的网站百度搜不到哪个网站有手工活做
  • 通州富阳网站建设做网站如何排版
  • 网站建设如何商谈公司网站设计的企业
  • 西丽网站的建设网站建设需要哪些必备文件
  • 岱山建设网站南京网站建设 ww
  • 企业自建网站缺东莞做网页
  • 灌云县建设局网站威县做网站哪里便宜
  • 中国空间站拒绝10国名单教育模板网站建设