【发布时间】:2013-01-31 13:27:28
【问题描述】:
以下是我作为课程练习所做的 Java 代码。我有一个名为 SavingsAccount 的类。它有余额和利息变量。但是,我将它们设置为公开,但如果我想单独处理这些帐户,我是否需要将它们设为私有并为这些变量提供“获取/设置”方法?我可以不公开变量吗?其余代码具有使用这些变量进行计算的方法。
public class SavingsAccount { //This class has three different variables that define it
public double balance; //Double for account balance
public static double annualInterestRate; //Class method for interest rate
public final int ACCOUNT_NUMBER; //Constant int for keeping track of accounts
public SavingsAccount (int ACCOUNT_NUMBER, double balance) { //Constructor that takes down account number and balance to keep track of
this.ACCOUNT_NUMBER = ACCOUNT_NUMBER;
this.balance = balance;
}
【问题讨论】:
-
“单独处理帐户”与访问帐户数据的方式无关。
-
我能问一下为什么这被否决了吗?我正在尝试了解有关封装的更多信息。
-
我放了一个示例代码验证一个例子。那篇文章没有例子。不过没关系。
-
-1(我不是第一个反对投票的人,但我会证明我的投票是正确的)您似乎将访问修饰符与对象封装混淆了。访问修饰符用于限制从其他代码访问代码。对象封装是关于在类实例的范围内存储数据,通常使用静态成员和实例成员。
-
@JesseWebb "Encapsulation" 用于描述两种不同的事物:访问限制和数据/行为捆绑。 (例如,请参阅 Wikipedia 条目。)IMO 反对而不是讨论是一种相当直率的工具。对术语分歧的否决,特别是当它完全有效地使用该词时,太多了。