02-Java的面向对象特征

参考文章:Java的面向对象特征

Java是纯粹的面向对象编程的语言,完全支持面向对象的三大特征:封装、继承和多态。Java程序的组成单位就是类,多大的Java应用程序都是由一个个类组成的。

封装

把对象的实现细节隐藏起来,通过公用方法暴露该对象的功能。

继承

面向对象实现软件复用的重要手段,当子类继承父类后,子类作为一种特殊的父类,将直接获得父亲的公有属性和方法。

继承具有传递性:

  • 单继承:一个类只允许有一个直接父类,即类等级为树形结构
  • 多继承:一个类允许有多个直接父类

Tips: Java不支持多继承,多继承可能引起继承结构的混乱,且会大大降低程序可理解性。

多态

子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征,这意味着同一类型的对象执行同一个方法时,可能表现出多种行为特征。

抽象

即忽略一个主题中与当前目标无关的那些方面,以便充分关注和当前目标有关的方面。换句话说,抽象不打算了解全部问题,而只是考虑部分问题。例如,我们定义一个Person对象,通常只定义部分数据、部分行为特征(这些是软件系统所关心的部分),不可能把所有细节都定义出来。

Tips:抽象是OOP的重要部分,但不是其特征之一。所有编程语言都需要抽象,进行抽象时应该考虑我们所需要的特征,这些特定特征就应该用程序记录表现并出来。

类与对象

Java中除了8个基本数据类型值外,一切皆对象!

  • 对象:OOP中最基本概念,特点:标识唯一、分类性、多态性、封装性、模块独立性。
  • :Java中最小的程序单元,具有共同属性、共同方法的一类事物。类是对象的抽象,对象则为类的实例。

“基于对象” ?

这容易和面向对象概念混淆,“基于对象”也使用了对象,但是无法利用现有的对象模板产生新的对象类型,继而产生新对象,即没有继承的特点,没有继承更不用说多态了。面向对象三大基本特征缺一不可!

例如,JavaScript就是基于对象的,它使用封装好的对象,调用对象的方法,设置其属性;但无法使用它出派生新的类,开发者只能使用现有对象的方法和属性。

小结

今天学习了面向对象的相关概念,以及OOP的基本三大特征、抽象等重要部分。

笔记参考文献:李刚.疯狂Java讲义(第5版)

猜你喜欢

转载自blog.csdn.net/qq_42899028/article/details/116953581