面向对象-封装

面向对象编程的三要素:封装,继承,多态。我们接下来一一介绍这些面向对象的概念。

什么是封装?要知道什么什么是封装,需要先知道怎么是类,什么是对象。

类是抽象,将有共同属性和行为的“对象”抽象成为类,比如:猫,狗拥有共同的属性特征:哺乳,胎生。。我们可以抽象出哺乳动物的类 class Mammal。我们将其属性隐藏,对外提供接口,外部可以通过接口访问提供的属性。这些属性不是所有的都能被访问到,只有我们提供了接口的属性才行。

对象是类的实例,比如 class Mammal,我们为邻居家的金毛创建一个实例: Mammal oMammal。oMammal 称为对象,它是类 Mammal 的一个实例。

在类 Mammal 中,我们提供了接口获取颜色, GetColor()。我们能够通过这个接口来获取 oMammal 的颜色。邻居家的金毛是金黄色,我们能够通过该接口得到颜色为金黄。

我们想知道 oMammal 的年龄,我们不能通过 m_Age 来直接获取,那要知道 oMammal 的年龄,就必须有一个类似 GetAge() 的接口。非常遗憾,我们没有提供这样的接口。对于动物的接口我们也要保密,不想让别人知道。

整个抽象出 Mammal 类的过程,我们称为封装的过程。

所以封装就是抽象出类的过程,在封装的过程中,我们定义了共同的属性,这些属性是不能随意访问的。在抽象的过程中,我们提供部分接口,外部可以通过这些接口访问部分属性。

这就是封装。

posted on 2015-12-25 10:15  DanielHu  阅读(392)  评论(0编辑  收藏  举报