开闭原则

OCP(Open closed principle)

software entities (classes, modules, functions) should be open for extension, but closed for modification

大概意思

软件中的实体对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的

为什么这么说?

因为软件逻辑不是一层不变的,业务会变化,在业务发生改变时会发生以下某种情况:

直接修改某个类方法造成整体软件崩溃

比如classA有一个方法aoo,而B调用了classA的方法aooclassC也调用了classA的方法aoo
突然有一天classA的方法适用于classC,但不适用与classB,需要更改,这时你就需要更改classA的方法aoo
一改。。。。classC用不了了,这时就要改回来

所以我们需要让classA的aoo适用于classB和classC
我们让classA继承一个interfaceAI