プロパティへのアクセス
システムの大まかなプロトタイプをつくり、先輩に見てもらった。
クラスを作り、それらのプロパティを外部からアクセスする箇所で質問が。 [vbnet]Public Class AAAAAA Private foo As Integer Private baa As Integer Public Property pFoo() As Integer Get pFoo = foo End Get Set(ByVal Value As Integer) foo = Value End Set End Property
Public Property pbaa() As Integer
Get
pbaa = baa
End Get
Set(ByVal Value As Integer)
baa = Value
End Set
End Property
End Class[/vbnet] Javaにはプロパティは無いが、似たようなことをするなら [java]public class AAAA { private int foo; private int baa;
public int getBaa() {
return baa;
}
public void setBaa(int baa) {
this.baa = baa;
}
public int getFoo() {
return foo;
}
public void setFoo(int foo) {
this.foo = foo;
}
}[/java] と書く。
先輩から「変数 foo, baa自体をpublicにして外部からアクセスすればよいのに、何でGetterやSetterを書くのか?」と質問されたが、答えることが出来なかった。ので、調べてみた。
メンバ変数をクラス外部から直接アクセス出来ないようにして、状態の変更はすべてメソッドを通して行うというやり方は、 カプセル化 という概念です。利点として、
以下は参考にしたサイト