您的位置 首页 java

全方位整理Java的面向对象思想

面向对象

面向对象就是一种思想,把任何事物都看作是一个对象,把它们之间的关系抽象成类、继承。 在软件开发方面,面向对象是指一种 程序设计 范型,同时也是一种程序开发的方法。

常见的几个方面是,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及面向对象的编程实现( OOP ,Object Oriented Programming)。

早期的计算机编程都是 面向过程 的,当需要处理的问题越来越复杂时, 面向对象思想 就应运而生了。

面向对象的三大特性

  • 1、封装 将代码及其处理的数据绑定在一起,隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。 Java 语言的基本封装单位是类
  • 2、继承 子类拥有父类的全部特征和行为,这是类之间的一种关系。提高代码复用性;继承是 多态 的前提。Java 只支持单继承。
  • 3、多态 父类中定义的属性和方法被子类继承后,可以具有不同的属性或表现方式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。提高了程序的拓展性。

设计标准:高内聚与低耦合

  • 内聚是指事物内部的联系紧密程度。在面向对象编程中,就是对象内各元素之间关系紧密程度。高内聚追求的是事物尽量只完成单一功能,以降低事物本身的复杂程度。
  • 耦合是指事物之间的联系紧密程度。在面向对象编程中,就是对象与对象之间的关系紧密程度。低耦合追求的是事物尽量保持自身独立。

面向对象的五大基本原则:

  • 1、 单一职责原则 SRP(Single Responsibility Principle) 类的功能要单一,仅有一个引起其变化的原因,提高高内聚来减少引起变化的原因。
  • 2、开放封闭原则OCP(Open-Close Principle) 一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。抽象是关键,封装可变性。
  • 3、里式替换原则LSP(the Liskov Substitution Principle LSP) 所有引用基类(父类)的地方必须能透明地使用其子类的对象,任何时候都可以用子类型替换掉父类型。这个原则依赖面向对象的继承特性和多态特性。
  • 4、 依赖倒置原则 DIP(the Dependency Inversion Principle DIP) 抽象不应该依赖于细节,细节应当依赖于抽象;高层模块不应该依赖低层模块,两者都应该依赖其抽象。换言之,要针对接口编程,而不是针对实现编程。
  • 5、接口分离原则ISP(the Interface Segregation Principle ISP) 使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

面向对象的一个法则与复用原则

  • 迪米特法则 LOD /LKP(Law of Demeter 又名Least Knowledge Principle) 一个软件实体应当尽可能少地与其他实体发生相互作用。降低类之间的耦合。
  • 合成复用原则CRP(Composite Reuse Principle) 要尽量使用合成和聚合,尽量不要使用继承。因为继承复用破坏包装,子类知道所有父类细节,而且父类变化总是引起子类变化。

面向对象的思维

  1. 先整体,再局部
  2. 先抽象,再具体
  3. 能做什么,再怎么做

全方位整理Java的面向对象思想

文章来源:智云一二三科技

文章标题:全方位整理Java的面向对象思想

文章地址:https://www.zhihuclub.com/170649.shtml

关于作者: 智云科技

热门文章

网站地图