黑马程序员技术交流社区

标题: 面向对象的里氏替换原则和开放封闭原则是什么呀? [打印本页]

作者: §風過無痕§    时间: 2013-8-23 18:40
标题: 面向对象的里氏替换原则和开放封闭原则是什么呀?
本帖最后由 §風過無痕§ 于 2013-8-24 17:36 编辑

如题:面向对象的里氏替换原则和开放封闭原则是什么呀?
作者: 穿靴子的猫    时间: 2013-8-23 18:49
里氏代换 子类出现的位置父类都可以出现 List arr =new ArrayList();

开闭原则 一个类对修改关闭 对扩展开放 就是说你一个类写好了就不能动了 所以在写类的时候要考虑到扩展性和复用型
作者: shenge321    时间: 2013-8-24 20:57
里氏转换原则:1.子类对象可以直接赋值为父类变量;2.指向子类对象的父类变量,可以强制类型转化为对应的子类对象
作者: 左岸    时间: 2013-8-24 22:35
里氏代换原则,子类型必须能够替换掉它们的父类型。
开放-封闭原则,是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。

作者: 丁海平    时间: 2013-8-25 11:03
本帖最后由 丁海平 于 2013-8-25 11:06 编辑

当设计程序模块时,会创建一些类层次结构....然后通过扩展一些类来创建它们的子类。
我们必须确保子类只是扩展而没有替换父类的功能,否则当我们在已有程序模块中使用它们时将会产生不可预料的结果。
里氏代换原则就是表明当一个程序模块使用基类时,基类的引用可以被子类替换而不影响模块的功能。
里氏代换原则就是:
基类完全能够被子类替代而不影响模块的功能。
开放封闭原则就是:
软件实体应该对扩展开发,而对修改封闭。开放封闭原则是所有面向对象原则的核心。软件设计本身所追求的目标就是封装变化,降低耦合,而开放封闭原则正是对这一目标的最直接体现。
开放封闭原则主要体现在两个方面:
对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。
对修改封闭,意味着类一旦设计完成,就可以独立其工作,而不要对类尽任何修改





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2