专业的JAVA编程教程与资源

网站首页 > java教程 正文

全方位整理Java的面向对象思想(java面向对象概念)

temp10 2024-10-21 12:17:52 java教程 11 ℃ 0 评论

面向对象

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

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

全方位整理Java的面向对象思想(java面向对象概念)

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

在计算机语言方面,纯面向对象语言的像Smalltalk在20世纪70年代出现,随后出现的C++是混合型,90年代出现了Java以及随后微软应对Java发表的C#都是面向对象的语言。

面向对象的三大特性

  • 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. 能做什么,再怎么做



本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表