【Java 8】二、Java中的面向对象编程

2.1 面向对象编程

面向对象编程(Object-Oriented Programming,OOP)在Java中处于核心地位。

两种范式

所有计算机程序都包含2个元素:代码、数据
面向过程模型:将程序描述为一系列步骤,并用代码描述每一个步骤将如何作用于数据。
面向对象编程:将数据设计为一系列对象,并为这些对象精心设计接口,使用这些接口来进行组织代码。

抽象

使用抽象管理复杂性:非面向对象的编程方式,往往将对象分解为不同的部分进行处理;而面向对象的编程方式,则是把对象作为一个整理,去使用这个对象。
层次化分类:如一台车,下面又可以分为驾驶系统、制动系统等,每层又可以继续细分。当我们去使用这个车的对象时,则只需要了解各系统如何操作,而不需要知道这个系统里面由什么组成。
对变化的支持:面向对象的方式犹如人类理解事物一样;往往事物会不断变化,例如某一部分进行改变;那么面向对象的程序也能支持这些变化,可以优美地废除或者替换旧系统中的一些部分。

OOP三原则

封装

封装:将代码以及其操作的数据绑定在一齐的机制。可以想象为一个保护性的盒子,只允许外部通过盒子提供的通道进行访问和操作,而不允许随意访问盒子里面的代码和数据。
封装的基础是类:类,是一些对象共享的一种结构和行为(数据和代码)。使用类创建对象,类似使用模具生产零件,这些对象也称为类的实例。
变量和方法:类里面可以定义变量和方法,称为成员变量(或实例变量)和成员方法(或方法)。
公有/私有:类的变量或方法可以设置为公有或私有,公有的表示外部用户可以知道的内容,私有的表示只有类的成员才能访问。

继承

继承:是一个对象获得另一个对象的属性的过程,继承支持了层次化分类的概念。
例如定义了一个哺乳类动物,又定义了下一层的一个类叫犬类,我们定义犬类继承了哺乳类,那么就代表犬类有哺乳类的所有属性和特征(变量和方法)。

多态

多态(多种形态):允许将一个接口用于一类通用动作。
多态是为了降低复杂性。例如一个对象有同一个行为,但是根据数据不同有不同做法的时候,使用相同的接口来指定这个行为,而自动根据对应的参数,会执行对应的实际代码。

封装、继承与多态协同工作

通过这3个原则,可以设计出健壮性强、方便维护、适应变化的系统级代码。

你可能感兴趣的:(【Java 8】二、Java中的面向对象编程)