それで、「セッター」と「ゲッター」のメソッドと、それらがどれほど役立つか、またはそうでないかについて質問があります。
次のような非常に基本的なプログラムを書いたとしましょう。
public class Account
{
String name;
String address;
double balance;
}
次に、次のように、この「アカウント」クラスを使用する別のクラスを作成するとします。
class UseAccount
{
public static void main(String[] args)
{
Account myAccount = new Account();
Account yourAccount = new Account();
myAccount.name = "Blah blah"
}
}
などなど
私が書いているときmyAccount.name = "Blah blah"
は、「Account」クラスの変数「name」の値を変更しています。このように記述されたコードを使用して、何度でも自由にこれを行うことができます。しかし、「Account」クラスの変数を非公開にしてから、「setter」および「getter」メソッドを使用する方がよいことに気付きました。したがって、次のように書くと:
public class Account
{
private String name;
private String address;
private String balance;
public void setName(String n)
{
name = n;
}
public String getName()
{
return name;
}
}
次のような別のクラスを作成するだけで、変数「name」の値を変更できます。
class UseAccount
{
public static void main(String[] args)
{
Account myAccount = new Account();
myAccount.setName("Blah blah");
}
}
このメソッドの使用がどのように異なるのか、または人々がプライベートフィールドの値を変更するのを防ぐことになっているのかわかりません。何か助けはありますか?