当前位置: 首页 > 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.sadfv.cn/news/123237/

相关文章:

  • 网站开发合同封面做聊天室cpa用什么类型的网站好
  • 设计师应该知道的网站wordpress4.9邮件发送
  • 深圳做兼职的网站设计网站怎样秒收录
  • 在线做网站黄培训ui设计公司
  • 网站开发发展趋势第三方编辑网站怎么做
  • 网站建设管理 优帮云知名网站制作公司有哪些
  • 怎么做刷qq业务网站深圳注册公司条件
  • wordpress4.7源码下载怀化市优化办
  • 画中画有哪些网站可以做怎样做网站的反链
  • 服装网站开发的需求分析wordpress加入图片
  • 网站制作与设计知识点当前主流网站开发技术
  • 如何自学wordpress东莞长安网站优化
  • 页网站设计秦皇岛提高网站排名
  • 网站服务器搭建的步骤免费手机网站制作
  • 北京中交建设公司网站wordpress主题 sen
  • 描述网站开发的广告词网页设计建网站流程
  • google网站优化器企业网站的建设与维护是什么
  • 怎样做当地网站推广清远手机网站建设
  • 网站的建设时间表营销型网站建设网站手机
  • 西安网站制作顶尖公郑州知名做网站公司有哪些
  • 餐饮网站建设网站建立个人博客网站的流程
  • 马云的网站怎么做的iphone wordpress
  • 工艺宣传网站建设齐博cms
  • 安徽建筑人才网铁力seo
  • 企业网站优化系统网站模板 jsp
  • 什么是成品网站怎么做广告宣传最有效
  • 最好的手机资源网站网站建设的经费估算
  • 想开个网站怎样开公司上网行为管理系统
  • html公司网站模板源码7000元买一个域名做网站
  • 东营微信网站制作wordpress访问前台太慢