子类型中的前置条件不能加强

指的就是函数的参数的给定范围不能变小

子类型中后置条件不能变弱

函数的返回值的给定范围不能变大

父类的不变量必须保存在子类中

compiler编译器决定的

子类型方法参数,逆变

子类型的方法参数可以变得更抽象(父类)

子类型方法返回值,协变

子类型的方法返回值可以变得更具体(子类)

子类型中的方法不应该抛出新的异常,除非这些异常本来就是父类抛出的异常

字面意思
欢迎关注公众号BBIT
让我们共同学习共同进步!

liscov替换原则相关推荐

  1. 里氏替换原则(Liskov Substitution Principle,LSP)

    昨天图文介绍了软件设计的一个基本原则"开闭原则",而"开闭原则"的核心就是通过抽象把需求变化进行隔离,这种想法可以通过"里氏替换原则"进行保 ...

  2. 面向对象设计原则之三:里氏替换原则

    里氏替换原则(Liskov Substitution Principle LSP)   里氏替换原则是面向对象设计的基本原则之一.任何基类可以出现的地方,子类一定可以出现.LSP是继承复用的基石,只有 ...

  3. 【设计模式系列】OO设计原则之LSP-Liskov替换原则

    概要 什么是所谓的替换原则?开发中我们通常会通过继承实现一些子类来达到功能的扩展,比如假设我们有基类B,有个B类型的指针或引用作为某个函数的参数,这时我们创建了子类C继承于B,如果当把指向C类对象的指 ...

  4. 【设计模式】软件设计七大原则 ( 里氏替换原则 | 定义 | 定义扩展 | 引申 | 意义 | 优点 )

    文章目录 一.里氏替换原则定义 二.里氏替换原则定义扩展 三.里氏替换原则引申意义 四.里氏替换原则意义 五.里氏替换原则优点 一.里氏替换原则定义 里氏替换原则定义 : 如果 对每一个 类型为 T1 ...

  5. 编码最佳实践——Liskov替换原则

    Liskov替换原则(Liskov Substitution Principle)是一组用于创建继承层次结构的指导原则.按照Liskov替换原则创建的继承层次结构中,客户端代码能够放心的使用它的任意类 ...

  6. 【设计模式】里氏替换原则

    里氏替换原则 OO(Object Oriented,面向对象程式设计)中的继承性的思考和说明 继承包含这样一层含义∶父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有
的子类必 ...

  7. java 重写方法 访问权限_为何Java中子类重写方法的访问权限不能低于父类中权限(内含里氏替换原则)...

    为何Java中子类重写方法的访问权限不能低于父类中权限 因为 向上转型及Java程序设计维护的原因 例: 假设一个父类A 拥有的方法public void setXXX(){}可以被其他任意对象调用这 ...

  8. Laravel深入学习10 - 里氏替换原则

    声明:本文并非博主原创,而是来自对<Laravel 4 From Apprentice to Artisan>阅读的翻译和理解,当然也不是原汁原味的翻译,能保证90%的原汁性,另外因为是理 ...

  9. 软件设计原则(三)里氏替换原则 -Liskov Substitution Principle

    里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一. 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现. LSP是继承复用的基石,只 ...

  10. 北风设计模式课程---里氏替换原则(Liskov Substitution Principle)

    北风设计模式课程---里氏替换原则(Liskov Substitution Principle) 一.总结 一句话总结: 当衍生类能够完全替代它们的基类时:(Liskov Substitution P ...

最新文章

  1. 这些好用的网站,看看你都收藏了没!
  2. openstack资源使用汇总_关于OpenStack的学习路线及相关资源汇总
  3. HashMap面试指南
  4. 推荐实践:结对Review
  5. 【lucene】lucene 分词 以及自定义分词器
  6. Boom 2 for Mac(音频助推器及均衡器) v1.6.7中文激活版
  7. 安卓反编译smali代码注入第三方广告
  8. 基于cesium和mars3d海洋三维管线信息系统开发完工总结
  9. Android 4.1新特性
  10. 天池比赛 Docker 解决无法读取测试集,提交成功
  11. 夺宝奇兵 (优先队列 + 贪心 + 暴力枚举)
  12. powerdns 系列之二 PowerDNS Authoritative Server
  13. python3 将科学计数法(用E表示的)转化为书写形式的科学计数法的数字
  14. linux格式化时设备或资源忙,Linux下使用fdisk命令和partprobe命令,在不重启系统的状况下新建分区并格式化...
  15. 数电基础知识Flash讲解
  16. 系统集成特一级资质标准
  17. 【UI界面开发】基本组件概述
  18. Urban Airship Server API - Java客户端实例
  19. SketchUp:SketchUp草图大师软件简介、安装、使用方法之详细攻略
  20. 聊聊定位-如何占领用户心智

热门文章

  1. 操作系统15----80386处理器基础
  2. 复数矩阵相乘的扩展矩阵计算方法
  3. 数据挖掘案例实战:利用LDA主题模型提取京东评论数据(四)
  4. 让我们在网页中实现数据库的增删改查~
  5. 网页保存到mysql数据库_把网页数据保存到数据库
  6. svn报错E175002
  7. VM虚拟机安装win7系统(亲测可用!!!)
  8. 计算机专业毕业论文谢辞,计算机毕业论文谢辞模板(精选模板三篇)
  9. 影视后期制作(Pr)
  10. 周礼键君:《建郡八音》(拼音方案---只有四调,以近音调注)