August 2021
Intermediate to advanced
450 pages
4h 46m
Chinese
封装是面向对象的本质概念。在谈接口/实现范式时其实都在谈封装。根本问题是对于一个类而言,它应该暴露什么信息,不该暴露什么信息。封装等同于数据和行为。当讨论类时,主要的设计决策是将数据和行为封装到编写好的类中。
Stephen Gilbert和Bill McCarty将封装定义为:“打包程序的过程,将其中的类分为两个不同的部分:接口和实现。”本书中我们在不断传达这样的信息。
但是封装和继承是什么关系,以及和本章又有什么关系?这看起来是面向对象的一个悖论。封装是面向对象的本质,所以它是面向对象设计的基本原则之一。继承也是三个主要的面向对象概念之一。然而,继承在某种方式上实际上破坏了封装!怎么会这样呢?是不是三个面向对象中的主要概念中其中两个可能是不兼容的呢?让我们探讨这种可能性。
Read now
Unlock full access