OCP(Open closed principle)
software entities (classes, modules, functions) should be open for extension, but closed for modification
大概意思
软件中的实体对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的
为什么这么说?
因为软件逻辑不是一层不变的,业务会变化,在业务发生改变时会发生以下某种情况:
直接修改某个类方法造成整体软件崩溃
比如classA有一个方法aoo,而B调用了classA的方法aoo,classC也调用了classA的方法aoo
突然有一天classA的方法适用于classC,但不适用与classB,需要更改,这时你就需要更改classA的方法aoo
一改。。。。classC用不了了,这时就要改回来
所以我们需要让classA的aoo适用于classB和classC
我们让classA继承一个interfaceAI