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

营销型网站托管专业营销推广团队

营销型网站托管,专业营销推广团队,立创商城,高端网站建设有哪些tip: 作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 相关规则: 推荐:体系化学习Java(Java面试专题) 1.6大设…

tip: 作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。

相关规则:

推荐:体系化学习Java(Java面试专题)

1.6大设计规则-迪米特法则
2.6大设计原则-接口隔离原则
3.6大设计规则-开闭原则
4.6大设计规则-单一职责原则
5.6大设计规则-依赖倒置原则

文章目录

  • 里氏替换原则

里氏替换原则

里氏替换原则 Liskov Substiution Principle ,简称 LSP。怎么理解这个原则呢,《设计模式之禅》第二章介绍它有两种定义:

1、If for each object ol of type S there is an object o2 oftype T such that for all programs P defined in terms of T, the behavior of P is unchangedwhen o1 is substituted for o2 then S is a subtype of T.
如果对每一个类型为S的对象ol,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型S是类型T的子类型。

这句话有点晦涩,简单来说就是 T 是父类,S 是子类,在一段代码中,将 T 替换成 S ,代码的逻辑并没发生任何变化。

2、Functions that use pointers or references to base classes must be able to useobjects of derived classes without knowing it. 所有引用基类的地方必须透明的使用其子类的对象。
这句话的意思呢,跟上面的差不多,就父类出现的地方,换成子类,代码不会异常,但是如果反过来,子类出现的地方,要是换成父类,那么就有可能出错了。

参考下面的例子:
我们可以将保时捷换成法拉利,并没有改变 User 类的代码逻辑,依然是先 先点火,在驾驶,这就是里氏替换原则的第一个定义。

package com.pany.camp.design.principle.lsp;/**** @description:  车子的抽象类* @copyright: @Copyright (c) 2022 * @company: Aiocloud* @author: panyong * @version: 1.0.0 * @createTime: 2023-05-31 13:26*/
public abstract class Car {/*** 启动** @since 1.0.0* @param* @return: void* @author: panyong* @version: 1.0.0* @createTime: 2023-05-31 13:28*/abstract void firing();/*** 车子的牌子** @since 1.0.0* @param* @return: String* @author: pany* @version: 1.0.0* @createTime: 2023-05-31 13:36*/abstract String getName();
}
package com.pany.camp.design.principle.lsp;
/**** @description:  保时捷* @copyright: @Copyright (c) 2022* @company: Aiocloud* @author: pany* @version: 1.0.0* @createTime: 2023-05-31 13:30*/
public class Porsche extends Car {@Overridevoid firing() {System.out.println("drive porsche");}@OverrideString getName() {return "porsche";}
}
package com.pany.camp.design.principle.lsp;/**** @description: 法拉利* @copyright: @Copyright (c) 2022* @company: Aiocloud* @author: pany* @version: 1.0.0* @createTime: 2023-05-31 13:40*/
public class Ferrari extends Car {@Overridevoid firing() {System.out.println("drive ferrari");}@OverrideString getName() {return "ferrari";}
}
package com.pany.camp.design.principle.lsp;public class User {public void drive(Car car) {car.firing();System.out.println("drive " + car.getName());}public static void main(String[] args) {User user = new User();// 我可以换成其他的方式,并没有改变代码的逻辑user.drive(new Porsche());user.drive(new Ferrari());}
}
http://www.tj-hxxt.cn/news/127471.html

相关文章:

  • 国家政府网站建设内容域名收录查询工具
  • 重庆做网站开发的公司国内搜索引擎网站
  • 做特产的网站的分析百度搜索关键词优化
  • 东莞网站建设多少钱dw网页制作详细步骤
  • 福建建设职业管理中心网站免费网站安全软件大全
  • 广州 美容 公司 网站建设网络营销推广方案模板
  • 网站建设安全协议seo公司排名
  • 设计公司排名前100强山东网站seo推广优化价格
  • 保定企业网站开发班级优化大师免费下载app
  • 商城网站前台模板免费下载口碑营销怎么做
  • 徐州网站开发石家庄疫情最新情况
  • 做网站的市场怎么样google chrome
  • 用内网穿透做网站可以被收录吗网页开发教程
  • 有哪些网站做二手房好的杭州seo技术
  • 如何新建wordpress新网站应该怎么做seo
  • 做三维特效的好网站长沙seo工作室
  • 信用信息查询公示系统外包优化网站
  • 网站虚拟空间多少钱百度下载安装2021最新版
  • 白鹭引擎做h5网站深圳网站设计专业乐云seo
  • 微网站制作女生读网络营销与电商直播
  • 代理记账 营销型网站百度网站排名规则
  • 网站css架构网站建设优化公司
  • 做效果图的网站有哪些软件有哪些长沙优化官网服务
  • 合肥 电子商务 网站推广广告代运营公司
  • 重庆网站推广付费分析网站推广和优化的原因
  • 施坦威网站关于我们企业邮箱查询
  • 网站开发项目技能比赛获奖报道搜索引擎优化的目的是
  • 网站域名为个人的公司能备案清理大师
  • 做庭院景观的那个网站推广好网站建设品牌公司
  • 产品设计出来好找工作吗卢镇seo网站优化排名