设计模式中的里氏替换原则具体指什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1482个文字,预计阅读时间需要6分钟。
1. 基本介绍:里斯科娃(Barbara Liskov)是美国麻省理工学院电气工程与计算机科学系教授,被誉为美国国家工程院院士。她在程序设计语言、分布式计算、程序设计方法及软件工程等领域做出了卓越贡献。
1.基本介绍里斯科瓦(Barbara Liskov)使美国麻省理工学院电气工程于计算机科学系资深教授,她是美国国家工程院院士,在程序语言、分布式计算、程序设计方法及软件工程领域做出了卓越贡献。里斯科瓦于1987年提出了一个关于继承的原则,也就是现在我们称为的“里氏替换原则”。
里氏替换原则基于子类对象可以赋给父类对象的“多态性”,表明子类可以替换父类,并且出现在父类能够出现的任何地方。但是该原则要求继承时需要遵守以下两点:
- 继承必须确保父类所拥有的“性质”在子类中仍然成立,且子类的程序执行无异常。
- 子类可以新增特有方法,并且可以重写父类的抽象方法,但不能改变父类原有的方法。
这两点也主要是衡量继承的使用是否符合了里氏替换原则的标准。
2.继承的滥用
通过一段小故事来讲解,为了让程序达到复用效果,滥用继承且不遵守“里氏替换原则”从而使程序带来意想不到的麻烦。
张三在学习了面向对象的技术后,深刻的感受到继承复用带来的快感,于是使用面向对象技术开发了一款“模拟鸭子游戏”,游戏中会出现各种鸭子,我们可以操作不同的鸭子进行游泳戏水或是呱呱叫。因为它采用了继承的特性,设计了一个鸭子父类,并让不同种类的鸭子都继承此父类。
本文共计1482个文字,预计阅读时间需要6分钟。
1. 基本介绍:里斯科娃(Barbara Liskov)是美国麻省理工学院电气工程与计算机科学系教授,被誉为美国国家工程院院士。她在程序设计语言、分布式计算、程序设计方法及软件工程等领域做出了卓越贡献。
1.基本介绍里斯科瓦(Barbara Liskov)使美国麻省理工学院电气工程于计算机科学系资深教授,她是美国国家工程院院士,在程序语言、分布式计算、程序设计方法及软件工程领域做出了卓越贡献。里斯科瓦于1987年提出了一个关于继承的原则,也就是现在我们称为的“里氏替换原则”。
里氏替换原则基于子类对象可以赋给父类对象的“多态性”,表明子类可以替换父类,并且出现在父类能够出现的任何地方。但是该原则要求继承时需要遵守以下两点:
- 继承必须确保父类所拥有的“性质”在子类中仍然成立,且子类的程序执行无异常。
- 子类可以新增特有方法,并且可以重写父类的抽象方法,但不能改变父类原有的方法。
这两点也主要是衡量继承的使用是否符合了里氏替换原则的标准。
2.继承的滥用
通过一段小故事来讲解,为了让程序达到复用效果,滥用继承且不遵守“里氏替换原则”从而使程序带来意想不到的麻烦。
张三在学习了面向对象的技术后,深刻的感受到继承复用带来的快感,于是使用面向对象技术开发了一款“模拟鸭子游戏”,游戏中会出现各种鸭子,我们可以操作不同的鸭子进行游泳戏水或是呱呱叫。因为它采用了继承的特性,设计了一个鸭子父类,并让不同种类的鸭子都继承此父类。

