我的老师告诉我,封装是数据/信息隐藏。
但是我从这里了解到的是:封装是将操作数据的方法和数据捆绑成一个单元。而且[封装]允许我们创建信息隐藏机制。例如,使变量只读,或者通过某些检查点访问它。
我理解得对吗?封装本身并不是数据隐藏,而是一种我们可以用来隐藏数据的方式?
private
,我强制它只能在类内部使用,而不能从外部使用;如果我将其声明为public
,则表示它是该类提供的接口的一部分,可以从外部使用。这两个概念是相关的,因为没有封装,抽象化往往会失效。这意味着除非该对象允许,否则您不能干扰其他对象的内部。它被封装在一个你无法进入的胶囊中。这种情况下的一个产物是隐藏信息。如果你被封闭起来,只有你能打开东西,那么你基本上隐藏了自己内部的所有东西。因此,隐藏是封装的结果。
Public Property _ZodiacSign As String = String.Empty
Public Property _ChineseZodiac As String = String.Empty
Public Property _ChineseZodiacChar As String = String.Empty
Public Property _is21AndOver As Boolean
Public Property _ChineseDate As String
Public Property _EstimatesConvievedDate As DateTime
你不知道如何计算星座或生肖,或者他们是否已经超过21岁,这是一个黑匣子。