软件设计思想概述

文中所述仅为自我便于理解,表述简单不全。不适合深入研究,详细的介绍可参考:http://blog.csdn.net/zhengzhb/article/category/926691

 

面向对象编程四大特性

 

抽象:对有共性的事物中待关注的部分加以抽象成接口或类。包括过程抽象和数据抽象

封装:将具有共性的一类事物的共性部分抽象出来形成一系列封闭的、自治的数据与过程,通过private、protected、public来决定对外开放的级别。封装要做到低耦合高内聚。

 

继承:当具有某些共性时,一个新类可以通过继承另一个已实现的类的方法、数据并加以扩展实现

多态:不同子类对象实现父类的抽象方法的行为可以不一样 (注意与重载的区别)

 

 

面向对象编程6大原则

 

单一职责原则:一个类最好只实现一个粒度足够小的功能,该功能不能再被细分。防止类中出现两个功能相互影响等情况。

里氏替换原则:子类的实现不影响父类已有的非抽象方法调用,只扩展不修改。防止因子类重载或重写父类方法造成调用混淆、功能紊乱等的情况。

依赖倒置原则:高层级的类尽量不要直接对低层级的类产生依赖,而是尽量面向接口编程,通过接口(也可以是方法或委托)传递依赖关系,防止出现低层级的类修改导致原有的高层级调用关系失效的情况。

接口隔离原则:接口实现的功能粒度应最小化,即多个功能应分成多个独立的接口(原则上如此,实际编码可适当酌情设计,把握度),防止类在实现接口时需要实现该类不必要的功能,造成代码复杂度增加

迪米特法则:对象的行为实现要保持对其他对象尽量少的了解,即对象的实现尽量避免对其他的类的依赖,做到高内聚低耦合。 例如A的实现与B和C产生了关联,而B和C属于聚合关系,A的实现可以只和B关联,则就没必要使A和B产生直接的关联。所以一个类应尽量少的依赖其他类,同时也要尽量少的让其他类对你产生依赖。防止修改类时出现藕断丝连的情况

开闭原则:对扩展开放,对修改关闭。即要求用抽象构建框架,用实现扩展细节(http://blog.csdn.net/zhengzhb/article/details/7296944);专门函行为要单一功能,通用行为要抽象。防止后期需求变更引起的代码修改量大

 

面向对象编程的23种特性

 

 

附:

多态与重载的区别:http://blog.csdn.net/weigb/article/details/1864192 多态是对虚方法的重写,编译时无法确定方法调用情况。重载允许一个类中有重名的方法,方法中参数不同。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值