mizzsugar’s blog

Pythonで学んだことや読書録を書きます。

【Java入門】getterとsetterを紐解く

2018/04/17 

メインクラスでインスタンスの名前を出力する方法を紐解く

目標:ゲッターとセッターの仕組みを理解する

 

  メインクラスでは、以下のことを行います。 ・インスタンスの作成 ・インスタンスの名前の設定 ・インスタンスの名前の出力  

public class Main {
public static void main(String[] args) {
Character hero = new Character();
hero.setName("Hero");
System.out.println(hero.getName());
}
}

 

  キャラクタークラスでは、 ①インタスタンスの名前の設定 ②インスタンスの名前の出力 をどのように行うかを設定します。  

public class Character {
private String name;
 
public void setName(String name) {
this.name = name;
}
 
public String getName() {
returnthis.name;
}
 
}

 

①インタスタンスの名前の設定

f:id:mizzsugar:20180417230555p:plain

 この処理では、名前をセットするだけで戻り値の方はないため、voidに設定します。

また、名前をセットする際にString型の変数を利用します。

ここでは、処理で利用する変数をnameと設定しています。

 

左のnameは、メインクラスで作成されたインスタンスの要素の一つとしてのnameです。

右のnameは、「public void setName(String name)」の中のnameです。

 f:id:mizzsugar:20180417230609p:plain

 

インタスタンスhのnameを"Hero"とセットします。

メソッド前に、「処理の対象となるインスタンス.」と定義します。 

 f:id:mizzsugar:20180417230654p:plain

 

インスタンスの名前の出力

f:id:mizzsugar:20180417230709p:plain

 

キャラクタークラスで、nameはprivate型で定義されているため、定義されているクラス内でしか利用できません。よて、他クラスであるメインクラスでは利用できません。

 

メインクラスでnameを出力するため、getNameというメソッドを定義します。

getNameはString型のnameを返すためのメソッドなので、String型とします。

利用する変数はないため、引数はありません。

 f:id:mizzsugar:20180417230722p:plain

 

 

return は変数を返す働きをします。

getName内の処理で、インスタンスの要素としてのnameを返します。

 f:id:mizzsugar:20180417230733p:plain

 

 

インスタンスhのnameをString型として返します。 

 

 

 

コンパイルすると、「 Hero」と出力されます。