面向对象

面向对象是一种思想,世界万物都可以看做一个对象,对于编程来说,即面向对象编程,Java是一个支持并发、基于类和面向对象的计算机编程语言,面向对象有如下优点:

  1. 代码开发模块化,更容易修改和维护
  2. 代码复用性强
  3. 增强代码的可靠性和灵活性
  4. 增加代码的可读性

封装

给对象提供隐藏内部特性和行为的能力,对象提供的供外部对象访问的方法改变它内部的数据。在Java中,有四种修饰符,default、public、private、protected。每一种权限修饰符为其他位于同一包或者不同包提供了不同的访问权限。封装的好处:

  • 通过隐藏对象的属性来保护对象内部的状态。
  • 提高了代码的可变性和维护性,因为对象的行为可以被单独改变或者拓展。
  • 禁止对象之间的不良的交互提高模块化

继承

给对象提供了从基类获取字段和方法的能力,继承提供了代码重用行,也可以在不改变基类的情况下给现存的类添加新特性。

多态

编程语言给不同的底层数据类型做相同接口展示的一种能力,一个多态类型的操作,可以应用到其他类型的值上面。

抽象

把想法从具体的实例中分离出来的步骤,因此要根据他们的功能而不是实现细节来创建类。

Java支持创建只暴露接口而不包含具体实现的抽象类,这种抽象的技术将类的行为和实现细节分离。

面向过程和面向对象的区别

面向过程:

优点:性能比面向对象高,因为类调用需要实例化,开销比较大,比较消耗资源。

缺点:不易复用、拓展、维护

面向对象

优点:易于维护、拓展、复用,由于面向对象有封装、继承、多态的特性,可以设计出低耦合的系统,使系统更加灵活。