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

网站 术语江苏seo推广

网站 术语,江苏seo推广,银川网站建设联系电话,阿里云做的海外网站怎么样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.yidumall.com/news/51049.html

相关文章:

  • 医药网站源代码懂得网站推广
  • 国外做btc的网站线下课程seo
  • 嘉陵 建设 摩托车官方网站百度免费收录提交入口
  • 电子商务网站怎么做推广沧州网络推广公司
  • 潍坊网站建设优化排名无货源网店怎么开
  • 如何建立网站销售平台黑马培训
  • 网站开发功能清单百度推广联系方式
  • 网站封装成app可以做热更新信息流优化师是干什么的
  • 英国疫情最新数据seo网站关键词优化怎么做
  • 网站建设都用什么软件重庆seo排名公司
  • 怎么搞自己的网站凡科建站怎么建网站
  • 网站设计ppt案例自媒体平台哪个收益高
  • 真正免费建网站网站权重如何查询
  • 与做机器人有关的网站重庆seo排名外包
  • 免费域名注册免备案南通百度seo代理
  • 网站开发用什么电脑好安年软文网
  • 政府网站新媒体建设百度推广下载
  • 企业品牌宣传型网站津seo快速排名
  • 十堰网站建设公司seopc流量排名官网
  • 便宜做网站在线外链推广
  • 帮企业做网站前景怎么样长沙网络推广软件
  • 公司的独立网站接外贸订单的渠道平台哪个好
  • 自己可以开发一个软件吗seo是什么专业的课程
  • 教师网站建设机培训体会免费下载sem工资
  • 网站互动性整合网络营销是什么
  • 学校网站设计制作目的网络营销策划推广
  • 子网站怎么做电商代运营十大公司排名
  • 网站拍照的幕布seo关键词优化技巧
  • 硅胶 技术支持 东莞网站建设seo入门
  • 学校网站建设目的潍坊今日头条新闻最新