ゲッター/セッター

private

Subクラスの4行目をを次のように変更し、保存してください。

クラスMainでエラーになりました。

エラーになった原因はクラスSubの4行目の「public」を「private」に変更したからです。publicはどこからでもアクセスできますが、privateはそのクラス内でしか利用できません。従ってSubクラスの変数hensuはMainクラスから利用できなくなったのです。

public、privateは変数だけでなくメソッドにも付けれます。変数と同様にprivateとしたメソッドは他クラスから利用できなくなります。

ゲッター、セッター

一般的にクラス内の変数はprivteとし他クラスからアクセスできないようにします。これはオブジェクト指向という考え方からきてます。(ウィキペディア

しかし他クラスからアクセスが必用な場合があります。その時はpublicなメソッドを用意して変数を参照、設定できるようにします。プログラムで確認しましょう。クラスSubに11行目~17行目を追加してください。

次にMainクラスの8行目を修正してください。

SubクラスのgetNum、setNumメソッドが外部クラスから変数を参照、設定するためのメソッドです。これらをセッターゲッターメソッドと言います。Mainクラスでは8行目のようにゲッター、セッターメソッドを利用して変数にアクセスします。

ゲッター、セッターメソッドは命名のルールがあります。変数の頭1文字目を大文字にして参照するメソッドはgetを、設定するメソッドはsetを先頭につけます。

this

セッターメソッドで次の行が気になった人がいるかと思います。。

この「this」の部分です。thisは自分自身を示しています。つまりthis.numはこのクラスの変数numを示しています。セッターメソッドの引数は慣習的に値を設定する変数と同名にします。そのため引数とクラス内の変数を区別するためにthisを記述します。

タイトルとURLをコピーしました