Java 封装类和使类更安全之间的区别

Java 封装类和使类更安全之间的区别,java,oop,Java,Oop,我想知道封装类和使类更安全之间的区别。封装提供了一个抽象的接口层,用于与类进行通信,并对外部世界隐藏了类的内部工作,同时安全性也具有类似的属性。 我们可以说每个封装的类都是安全的,但是安全的类不一定要封装好吗?请帮助我理解这两者之间的区别 类应该小而简单。这就是我所说的安全类的意思 为了提高类的可靠性,应该限制其他开发人员访问其成员和算法。为了在OOP世界中实现这一点,开发人员使用了一种称为封装的机制。通过将可见性设置为private来限制对类元素的访问,我们隐藏了代码如何处理任务的细节。这提高

我想知道封装类和使类更安全之间的区别。封装提供了一个抽象的接口层,用于与类进行通信,并对外部世界隐藏了类的内部工作,同时安全性也具有类似的属性。
我们可以说每个封装的类都是安全的,但是安全的类不一定要封装好吗?请帮助我理解这两者之间的区别

类应该小而简单。这就是我所说的安全类的意思

为了提高类的可靠性,应该限制其他开发人员访问其成员和算法。为了在OOP世界中实现这一点,开发人员使用了一种称为封装的机制。通过将可见性设置为private来限制对类元素的访问,我们隐藏了代码如何处理任务的细节。这提高了安全性,因为其他开发人员不能在代码执行期间修改数据

在我看来,封装和“使类更安全”之间没有区别。通过使用封装,您的类在定义上更加安全。您可以通过引入诸如不可变和使用关键字“final”使类接近继承机制等概念来扩展这种安全性

但这更多的是一个维基答案和问题,所以没有好的答案


如有任何评论,我们将不胜感激

类应该小而简单。这就是我所说的安全类的意思

为了提高类的可靠性,应该限制其他开发人员访问其成员和算法。为了在OOP世界中实现这一点,开发人员使用了一种称为封装的机制。通过将可见性设置为private来限制对类元素的访问,我们隐藏了代码如何处理任务的细节。这提高了安全性,因为其他开发人员不能在代码执行期间修改数据

在我看来,封装和“使类更安全”之间没有区别。通过使用封装,您的类在定义上更加安全。您可以通过引入诸如不可变和使用关键字“final”使类接近继承机制等概念来扩展这种安全性

但这更多的是一个维基答案和问题,所以没有好的答案


如有任何评论,我们将不胜感激

封装是将逻辑封装到不同的类中,并在代码中调用它

当我们在一个团队中工作时,我们会这样做——一名成员会说,用这种方法叫我,你的工作就完成了。调用方不必担心实现

“简单地说,将逻辑从类中取出,并通过方法调用它”

但要安全地实施它

使用访问修饰符

最后一个变量。
根据需要。

封装是将逻辑封装到不同的类中,并在代码中调用它

当我们在一个团队中工作时,我们会这样做——一名成员会说,用这种方法叫我,你的工作就完成了。调用方不必担心实现

“简单地说,将逻辑从类中取出,并通过方法调用它”

但要安全地实施它

使用访问修饰符

最后一个变量。 根据您的需要。

我们可以说每个封装的类都是安全的吗? 不,但封装是迈向安全的一小步

把你的班级想象成一座有几十扇窗户的大楼

为了完全保护建筑,你必须覆盖所有的开口:不仅是窗户,还有门、屋顶和后门。通过封装,您可以保护您的实现不受直接访问,从而关闭一个窗口,但是。。。还有几十个

正如许多评论中提到的,安全是一个非常宽泛的术语。为了声明类(和/或应用程序)的安全性,您必须做很多事情。您可以从以下内容开始:

安全类是否需要封装? 没有。但是这很难做到,因为在大多数设计模式中都会有一定程度的封装。在这种情况下,您可能要在Java之外实现安全性(例如,借助操作系统或其他第三方工具)。

我们可以说每个封装的类都是安全的吗? 不,但封装是迈向安全的一小步

把你的班级想象成一座有几十扇窗户的大楼

为了完全保护建筑,你必须覆盖所有的开口:不仅是窗户,还有门、屋顶和后门。通过封装,您可以保护您的实现不受直接访问,从而关闭一个窗口,但是。。。还有几十个

正如许多评论中提到的,安全是一个非常宽泛的术语。为了声明类(和/或应用程序)的安全性,您必须做很多事情。您可以从以下内容开始:

安全类是否需要封装?
没有。但是这很难做到,因为在大多数设计模式中都会有一定程度的封装。在这种情况下,您可能会在Java之外实现安全性(例如,借助操作系统或其他第三方工具)。

在“使类更安全”一节中,您理解了什么?根本没有人可以攻击我的类-使越来越多的东西私有化,这就是我对类安全性的理解。“没有人能侵入我的课堂“-你想说什么?封装并不能保证任何人都不能更改对象的语句,它只是隐藏了类的内部实现并形成了类接口。如果您想确保类在创建后不会更改语句,可以使类不可变。即使每个字段都是私有的,并且您没有getter/setter,每个人都可以
hack
y