员以及保护成员。有些语言更进一步：Java可以限制同一包内不同类别的存取；C#和VB.NET保留了为类别的成员聚集准备的关键字：internal（C#）和Friend（VB.NET）；Eiffel语言则可以让使用者指定哪个类别可以存取所有成员。具备封装性（Encapsulation）的面向对象程序设计隐藏了某一方法的具体执行步骤，取而代之的是通过消息传递机制传送消息给它。因此，举例来说，“狗”这个类有“吠叫()”的方法，这一方法定义了狗具体该通过什么方法吠叫。但是，莱丝的朋友并不知道它到底是如何吠叫的。