动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

面向对象五大原则

08-03 17:16 230浏览
举报 T字号
  • 大字
  • 中字
  • 小字

面向对象(Object Oriented)是目前比较流行的软件开发的一种方法。对象指的是类的集合。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。面向对象五大原则面向对象的立身之本

面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

面向对象五大原则:

  • 单一职责原则SRP(Single Responsibility Principle)

这个原则顾名就可以思义,就是一个类应该只负责一个职责,术语叫:仅有一个引起其变化的原因。简单点说:一个类中应该是一组相关性很高的函数及数据的封装,个中含义请自行意会。看起来简单,但是做起来就难了,这可能是六大原则中最难以熟练掌握的一个原则了,它高度依赖程序员的自身素质及业务场景。

  • 开放封闭原则OCP(Open-Close Principle)

它是面向对象最重要的设计原则,由Bertrand Meyer(勃兰特.梅耶)在1988年出版的《面向对象软件构造》中提出的。一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。

它提倡一个类一旦开发完成,后续增加新的功能就不应该通过修改这个类来完成,而是通过继承,增加新的类。 大家想必都听过软件需求不断变化的那个段子,在软件开发这个行当唯一不变的就是变化本身。那为什么应该对修改关闭呢,因为你一旦修改了某个类就有可能破坏系统原来的功能,就需要重新测试。其实我知道你们此刻在想什么,回忆一下自己的日常工作,有几个遵守了这个原则,都是需求来了就找到原来的类,进去改代码呗,看看有指导原则尚且如此,没有的话就更加乱套了。

  • 里式替换原则LSP(the Liskov Substitution Principle LSP)

   该原则定义所有引用基类(父类)的地方必须能透明地使用其子类的对象。简单点说,一个软件系统中所有用到一个类的地方都替换成其子类,系统应该仍然可以正常工作。这个原则依赖面向对象的继承特性和多态特性,这个原则我们有意无意中使用的就比较多了。因为一个优秀的程序员一定面向抽象(接口)编程的,如果你不是,说明你还有很大的进步空间。

  • 依赖倒置原则DIP(the Dependency Inversion Principle DIP)

高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象;抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。

  • 接口分离原则ISP(the Interface Segregation Principle ISP)

设计类时,功能接口拆分为多个使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。其实这个原则是很容易理解的,就是让调用者依赖的接口尽可能的小。

以上面向大原则全部是以构建灵活可扩展可维护的软件系统为目的的,所以说它的重要性是高于设计模式的,也应该是开发者时刻印在脑子里的,设计模式也是它的具体实践而已。

想要了解更多的面向对象的知识欢迎观看本站的相关java视频课程,你想学的这里全都有。

0人推荐
共同学习,写下你的评论
0条评论
渺小的人
程序员渺小的人

6篇文章贡献25135字

作者相关文章更多>

推荐相关文章更多>

Java数据结构

HelloWorld10-31 08:24

浅谈MySQL中SQL优化的常用方法

军哥08-12 23:29

五分钟读懂UML类图

江湖人称小李白12-10 10:41

MyBatis开发框架的四大核心

IT逐梦者08-17 21:43

一次搞定continue,break和return

HelloWorld11-06 11:19

发评论

举报

0/150

取消