• 设计模式六大原则之二:里氏替换原则


    设计模式六大原则之二:里氏替换原则

    卡奴达摩关于设计模式的系列文章写得很好,特将各篇精要之处摘录以备忘。
    原文: http://blog.csdn.net/zhengzhb/article/details/7281833

    通俗定义:在使用继承时,所有引用基类的地方必须能透明地使用其子类的对象。
    这其实是“针对接口编程,不要针对具体实现编程”的必然要求。
    里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。它包含以下4层含义:

    1. 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
    2. 子类中可以增加自己特有的方法。
    3. 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
    4. 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。

      后面的两层含义比较难理解,举个例子如下:
      父类Virtual方法:输入正整数,输出正整数。子类Override方法:输入整数,输出正偶数。对于父类的合法输入,对于子类一定合法;子类的输出,一定被父类的输出包括。

  • 相关阅读:
    Linux 学习 -- 修改文件的权限(chmod)
    Spring MVC
    Spring AOP与IOC
    Java学习
    SSH学习
    Android之Service
    Android之操作相册
    Android之ListView优化
    Android之Bitmap 高效加载
    Android数据储存之SQLiteDatabase SQLiteOpenHelper类的简单使用
  • 原文地址:https://www.cnblogs.com/egoechog/p/6391082.html
Copyright © 2020-2023  润新知