gpt4 book ai didi

java - 什么时候将实例变量设为私有(private)?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:13:34 30 4
gpt4 key购买 nike

我试图了解类中 getter/setter 方法的用法。假设我们有一个名为 A 的类,它有一些 public 实例变量,后跟一个带有参数的构造函数,其中参数从另一个类(主)传递给它。在构造函数中,我们让这些实例变量等于传递的值。

现在,如果这个类被另一个程序员使用,没有什么能阻止他们直接访问实例变量/将实例变量更改为无效的东西。通过将实例变量设为私有(private),我们可以消除对这些变量的访问。但是,如果我们希望间接地或在某些特定条件下更新/更改这些实例变量,或者可能只是让人们可以访问实例变量,我们将为此创建一个 getter/setter 对。

好处?:
1.仅在某些正当理由下才在set()方法下更改实例变量
2.这样我们就可以显示实例变量实际上是什么,而无需让使用此类的程序员能够更改它。

这是正确的解释吗?

最佳答案

封装 – 是指将所有相关成员(变量和方法)放在一个对象中。指定成员变量为私有(private)可以隐藏变量和方法。对象应该隐藏它们的内部运作外面的景色。 良好的封装通过防止对象之间的交互来提高代码模块化一种意想不到的方式,这反过来又使 future 的开发和重构工作变得容易。

enter image description here

能够封装类的成员对于安全性完整性 很重要。我们可以保护变量免受 Not Acceptable 值。上面的示例代码描述了如何使用封装来保护 MyMarks 对象从具有负值。对成员变量vmarks的任何修改只能通过setter进行方法 setMarks(int mark)。这可以防止对象 MyMarks 通过抛出一个负值异常。

关于java - 什么时候将实例变量设为私有(private)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12996692/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com