OOP三大特性及几大设计原则

 

封装:

1.隐藏实现细节;
2.恰当地公开接口;
3.将接口和实现分开,增强可维护性;(实现细节改变时,使用该类的客户端程序不需要改变)


继承

1.描述联结类的层次模型;
2.通过抽象,表达共性,实现类的重用;
3.通过子类增加方法和属性以及重写方法,表达差异性;


多态

1.屏蔽子类的差异性,针对共性/接口编程;(向上转型)
2.增强可扩展性;

 


相关设计原则(设计模式一般遵守的原则):
开闭原则(Open-Closed Principle, OCP):软件实体应该对扩展开放,对修改(对已有软件模块、特别是最重要抽象层模块的的更改)关闭。

 

迪米特法则(对于封装)(Law of Demeter LoD)又叫做最少知识原则(Least Knowledge Principle,LKP):对象间尽量最少了解,彻底将API接口和具体实现相分离,模块间仅仅通过API进行通信。

 

里氏代换原则(对于继承)(Liskov Substitution Principle,LSP):如果对于每一个类型为A的对象a,都有类型为B的对象b,使得A定义的所有程序P在所有对象a都替换成b时,程序P没有变化,那么B是A的子类型。

 

合成/聚合复用原则(对于继承)(Composite/Aggregate Reuse Principle,CARP):尽量使用合成/聚合,尽量不要使用继承。


依赖倒转原则(涉及多态)(Dependence Inversion Principle):抽象不应依赖于细节,细节应依赖于抽象;针对接口而非实现编程。

 

三大特性介绍:

http://www.cnblogs.com/hnrainll/archive/2012/09/18/2690811.html

简单介绍:

http://kakajw.iteye.com/blog/1637179

介绍几大原则:

http://blog.csdn.net/anders_zhuo/article/details/8949566

posted @ 2017-07-15 10:28  乐在克里特  阅读(438)  评论(0编辑  收藏  举报