引言
本文参考以下这篇文章
java设计模式2,开闭原则_哪 吒的博客-CSDN博客_spring boot 开闭原则的实现
定义
开闭原则,在面向对象编程领域中,规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。
代码
packagecom.guor.service.impl;
public class VipUserServiceExt extends VipUserServiceImpl {
@Override
public void promote() {
System.out.println("新增VIP会员免费送书权益");
}
}
个人总结
开闭原则和单一职责的区别:
单一职责强调的是拆分/解耦,表现为:拒绝强制绑定的关系,通过接口来将不同类型的类/模块区分开,进行横向扩展。
开闭原则强调的是继承/重写,表现为:保持原有的行为不变,通过继承重写的方式,进行纵向扩展。