请告诉我强封装和弱封装的区别。java语言。封装是将数据及其相关函数绑定到称为类的单个单元中。那么,弱封装和强封装是什么意思呢?
发布于 2016-07-01 14:33:27
这是基本的区别。它根据用法和视点的不同而有所不同。
私有字段是强封装的示例。
公共字段是弱封装的一个例子。在这种情况下,字段仍然封装在类中,但对外部世界可见。
受保护/默认字段显示中等封装。
发布于 2016-07-01 16:48:53
封装是一种OOP概念,用于防止外部干扰或误用数据和函数。封装允许对客户端隐藏实现,并允许在不影响客户端的情况下更改代码。形容词“弱”或“强”指的是这个概念在你的代码中执行得有多好。
例如,假设您有一个名为Person的类,其中有一个名为name的字段。封装建议对类的客户端“隐藏”这个字段,这样他就不会伤害或误用它。您可以通过将name属性设为private (因此,唯一可以引用此属性的代码是实现Person的代码)来实现这种行为,并提供一个getName()方法,它将把name属性返回给客户端。这将被认为是强封装-该属性不能从外部访问,也不能被滥用。
弱封装将提供一种方法,该方法的副作用是更改此属性的状态,从而“暴露”该属性并创建一个漏洞。
发布于 2016-07-01 16:29:37
强封装意味着实现抽象的代码可以控制其字段的可见性(即,可以从何处访问它们),而不会出现任何可被抽象作用域之外的代码利用的漏洞。弱封装允许这样的漏洞。
https://stackoverflow.com/questions/38138270
复制相似问题