面向对象 三大特性 五大基本原则
3 月,跳不动了?>>> 以前一直认为程序中的类有使用到 封装,继承,多态 就是面向对象设计,其实不然 封装,继承,多态 只是面向对象的 三大特性 ,但是在设计程序的时候并不是说类的结构使用到了(或是体现出了)这三个特性就是面向对象,其实真正的面向对象设计是要符合下面的 五大原则 , 面向对象的五大基本原则 单一职责原则(SRP) 开放封闭原则(OCP) 里氏替换原则(LSP) 依赖倒置原则(DIP) 接口隔离原则(ISP) 单一职责原则(SRP) 一个类应该仅有一个引起它变化的原因 (最简单,最容易理解却最不容易做到的一个设计原则) 例子: 比如在职员类里,将工程师、销售人员、销售经理这些情况都放在职员类里考虑,其结果将会非常混乱,在这个假设下,职员类里的每个方法都要if else判断是哪种情况,从类结构上来说将会十分臃肿,并且上述三种的职员类型,不论哪一种发生需求变化,都会改变职员类!这个是大家所不愿意看到的 开放封闭原则(OCP) 既开放又封闭,对扩展是开放的,对更改是封闭的! 扩展即扩展现行的模块,当我们软件的实际应用发生改变时,出现新的需求,就需要我们对模块进行扩展,使其能够满足新的需求, 更改封闭即是在我们对模块进行扩展时,勿需对源有程序代码和DLL进行修改或重新编译文件! 这个原则对我们在设计类的时候很有帮助,坚持这个原则就必须尽量考虑接口封装,抽象机制和多态技术!