8.2.1 面向对象的特征

8.2.1 面向对象的特征

面向对象有三大特征:封装、继承、多态。

·封装(encapsulation):是指将对象的属性和行为(数据和操作)都包裹起来形成一个整体,不需要让外界关心内部的具体实现细节。封装包含对象的属性和行为,对象的属性由若干个数据组成,而对象的行为则由若干个操作组成,这些操作都是通过函数实现的,也称为方法。

·继承(inheritance):主要描述的是类与类的关系,继承提供了创建新类的一种方法,在不必重写类的情况下,对原有类的功能进行扩展,表现了特殊类与一般类的关系。特殊类具有一般类的全部属性和行为,并还具有自己的特殊属性和行为,这就是特殊类对一般类的继承。通常将一般类称为父类(基类),将特殊类称为子类(派生类)。继承不仅增加了代码的复用性,还提高了开发效率,为程序的后期维护也提供了便利。

·多态(polymorphism):多态与继承紧密相关,指一种行为对应多种不同的实现,即对象根据接收到的消息做出动作,同样的消息在被不同的对象接收时,可产生完全不同的结果。多态性的表现就是允许不同类的对象对同一消息做出响应,即同一消息可以调用不同的方法,而实现的细节则由接收对象自行决定。

通常把隐藏属性、方法与方法实现细节的过程称为封装。封装有利于模块化设计,使代码更容易维护,同时因不能直接调用、修改内部私有信息,能提高系统的安全性。

比如,要计算圆的面积,可以在圆的类中定义一个方法,用来计算圆的面积,每次计算某个圆的面积时,只需要调用这个方法,并传递圆的半径值,即可得到圆的面积,整个过程不需要关心圆的面积是如何计算的。