Java中的强封装和弱封装

Java中的强封装和弱封装,java,oop,object,computer-science,Java,Oop,Object,Computer Science,请告诉我java语言中强封装和弱封装的区别。 封装是将数据及其相关函数绑定在一个称为类的单元中。那么,弱封装和强封装是什么意思呢 这里是基本区别。它根据用途和视角而有所不同 私有字段是强封装的示例 公共字段是弱封装的示例。在这种情况下,字段仍然封装在类中,但对外部可见 受保护/默认字段显示中等封装。强封装意味着实现抽象的代码可以 控制其字段的可见性(即可访问字段的位置 从),没有任何可被外部代码利用的漏洞 抽象的范围。弱封装允许出现此类漏洞。封装是一种OOP概念,可防止数据和函数受到外部干扰或误

请告诉我java语言中强封装和弱封装的区别。
封装是将数据及其相关函数绑定在一个称为类的单元中。那么,弱封装和强封装是什么意思呢

这里是基本区别。它根据用途和视角而有所不同

私有字段是强封装的示例

公共字段是弱封装的示例。在这种情况下,字段仍然封装在类中,但对外部可见


受保护/默认字段显示中等封装。

强封装意味着实现抽象的代码可以 控制其字段的可见性(即可访问字段的位置 从),没有任何可被外部代码利用的漏洞
抽象的范围。弱封装允许出现此类漏洞。

封装是一种OOP概念,可防止数据和函数受到外部干扰或误用。封装允许对客户端隐藏实现,并允许在不影响客户端的情况下更改代码。形容词“弱”或“强”指的是这个概念在代码中实施得有多好

例如,考虑一个名为<代码>人>代码的类,该字段有一个名为“代码>名称< /代码>的字段。封装建议对类的客户机“隐藏”该字段,这样他就不会伤害或滥用它。您可以通过使

name
属性
private
(因此唯一可以引用此属性的代码是实现
Person
)的代码,并提供一个getter方法
getName()
,该方法将向客户端返回name属性。这将被视为强封装-该属性无法从外部访问,也不能被滥用


弱封装将提供一种方法,作为副作用改变该属性的状态,从而“暴露”该属性并创建漏洞

强封装意味着一个类,它将所有属性访问级别都包含为private,每个方法都包含为public。然后满足强封装,然后该类被称为强封装类。 通过强封装,我们不能直接从类外部访问任何属性。如果要访问或初始化属性的值。然后我们应该通过公共方法运行。
弱封装就像类包含私有之外的任何属性访问级别和公共之外的方法访问级别一样。然后该类被称为弱封装类。

private&geterMethod
=强封装

private&seterMethod
=弱封装

您可以参考