面向对象
面向对象就是一种思想,把任何事物都看作是一个对象,把它们之间的关系抽象成类、继承。在软件开发方面,面向对象是指一种程序设计范型,同时也是一种程序开发的方法。
常见的几个方面是,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及面向对象的编程实现(OOP,Object Oriented Programming)。
早期的计算机编程都是面向过程的,当需要处理的问题越来越复杂时,面向对象思想就应运而生了。
在计算机语言方面,纯面向对象语言的像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)要尽量使用合成和聚合,尽量不要使用继承。因为继承复用破坏包装,子类知道所有父类细节,而且父类变化总是引起子类变化。
面向对象的思维
先整体,再局部
先抽象,再具体
能做什么,再怎么做
以上就是动力节点java培训机构的小编针对“全方面了解Java中的面向对象”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习