设计原则----里氏替换原则(LSP)
里氏代换原则:在软件里面,把父类都替换成它的子类,程序的行为没有变化。简单地说,子类型必须能够替换掉他们的父类型。这好像是学继承时就要理解的概念,子类继承了父类,所以子类可以以父类的身份出现。
只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正被利用,而子类也能够在父类的基础上增加新的行为。比如说,猫是继承动物类的,以动物的身份拥有吃、喝、跑、叫等行为,可当某一个天,我们需要狗、牛、羊也拥有类似的行为,由于他们都是继承于动物,所以除了更改实力话的地方,程序的其他出不需要改变。
动物 animal = new 猫();
需求的变化,使得需要将“猫”更换成“狗”、“牛”等其他动物,程序其他地方不需要改变
animal.吃();
animal.喝();
animal.跑();
animal.叫();
正是由于子类型的可替换性才是的使用父类类型的模块在无需修改的情况下可以扩展。不然还谈什么扩展开放,修改关闭呢。再看以来倒转原则,高层模块不应该依赖底层模块,两个都应该依赖抽象,对这句话你就会有更深入的理解了。
分享到:
相关推荐
### OO设计原则——里氏替换原则详解 #### 一、引言 面向对象设计原则(Object-Oriented Design Principles)是一套指导软件开发者如何更好地设计类、接口等面向对象元素的原则集合,旨在提高代码的可复用性、可...
里氏替换原则(Liskov Substitution Principle,简称LSP)是面向对象设计的基本原则之一,它是由美国计算机科学家芭芭拉·里科夫(Barbara Liskov)提出的。这个原则强调的是在软件工程中,子类型必须能够替换它们的...
在实践中,里氏替换原则可以帮助我们设计更加灵活和可维护的程序。例如,在一个动物类的继承关系中,我们可以使用猫类来继承动物类,这样我们可以将猫对象当作动物对象来使用,而不影响程序的逻辑正确性。 然而,...
里氏替换原则是面向对象设计中的一个核心原则,它是由芭芭拉·利斯科夫(Barbara Liskov)在1988年提出,并以她的名字命名。里氏替换原则是针对继承体系中子类型多态性的一种规定,要求在任何可以使用父类对象的地方...
详细介绍里氏替换原则的由来和效用 里氏替换在面向对象里面是一个重要概念,用来限制继承的使用,继承作为面向对象三大机制之一,虽然带来诸多优点,但也不可避免的有缺憾,而里氏替换就是叫我们如何避免继承给代码...
1. **里氏替换原则的重要性**:在面向对象设计中,遵循里氏替换原则可以有效提高代码的稳定性和可维护性,避免因继承不当而导致的问题。 2. **实际应用**:在设计类的继承关系时,应仔细考虑每个类的行为特征,确保...
里氏代换原则(Liskov Substitution Principle,简称LSP)是面向对象设计的基本原则之一,由芭芭拉·里科夫(Barbara Liskov)在1988年提出。该原则规定,子类必须能够替换它们的基类,并且在软件系统中不会产生任何...
里氏替换原则(Liskov Substitution Principle,简称LSP)是面向对象设计的基本原则之一,由美国计算机科学家Barbara Liskov在1988年提出。这一原则是类型继承概念的重要基石,它规定了子类型必须能够替换掉它们的基...
3. **里氏替换原则(LSP,Liskov Substitution Principle)**:子类必须能够替换它们的基类,而不会导致程序行为的改变。这确保了扩展不会破坏原有的行为。 4. **接口隔离原则(ISP,Interface Segregation ...
里氏替换原则有如下特点: 代码共享,减少创建类的工作量 提高代码的重用性 提高代码的可扩展性 提高产品代码的开放性 继承侵入性 只要继承,必须拥有父类的内容 降低代码的灵活性,子类必须拥有...
里氏替换原则(Liskov Substitution Principle,简称LSP)是面向对象设计的基本原则之一,由Barbara Liskov在1988年提出。该原则指出,子类型必须能够替换它们的基类型而不影响程序的正确性。这意味着在软件系统中,...
2 里氏替换原则-Liskov Substitution Principle (LSP) 3 接口分隔原则-Interface Segregation Principle (ISP) 4 单一职责原则-Single Responsibility Principle (SRP) 5 开闭原则-The Open-Closed ...
里氏转换原则(Liskov Substitution Principle,简称LSP)是面向对象设计的基本原则之一,它是SOLID原则中的L原则。这个原则是由Barbara Liskov在1987年提出的,它规定子类型必须能够替换它们的基类型,而不影响程序...
3. 里氏替换原则:子类必须能够替换掉它们的基类,不影响程序的正确性。 4. 接口隔离原则:避免使用宽泛的接口,尽量细化接口,每个接口只做一件事。 5. 依赖倒置原则:依赖于抽象而不是具体实现,使得系统更灵活,...
在上述代码示例中,给出了一个根据 LSP 改进的 `Stack` 实现,它基于 `Vector` 但不直接继承,以满足替换原则。 总的来说,里氏代换原则对于保证代码的灵活性、可维护性和可扩展性至关重要。在设计和实现类层次结构...
里氏代换原则是由麻省理工学院(MIT)计算机科学实验室的Liskov女士,在1987年的OOPSLA大会上发表的一篇文章《Data Abstraction and Hierarchy》里面提出来的,主要阐述了有关继承的一些原则,也就是什么时候应该...
设计模式6大原则:里氏置换原则
里氏替换原则练习及参考答案
面向对象设计原则:面向对象设计原则、开闭原则、里氏替换原则、里氏替换原则、里氏替换原则
3. 里氏替换原则(Liskov Substitution Principle, LSP):子类型必须能够替换掉它们的基类型。这保证了继承不会破坏原有的程序行为。 4. 接口隔离原则(Interface Segregation Principle, ISP):不应该强迫客户端...