11月4日(木)
今日学習したのは
- スーパークラス・サブクラス
- this・super
について学習しました!!
javaでは既存のクラスを元に新しいクラスを定義することができます。
これを継承と言います。
継承において、既存のクラスを
スーパークラス
新しく定義されるクラスを
サブクラス
と言います。
こちらが記述例になります。
class SarubeeA { }
class SarubeeB extends SarubeeA { }
1行目では「sarubeeA」クラスを定義し、2行目では「sarubeeA」クラスを継承した「sarubeeB」クラスを定義しています。
2行目で、2つのクラスの間に「extends」という文字がありますね。
これは継承を宣言するものなので必ず記述してください!!
では、継承することでどんなメリットがあるのでしょうか?
それは既存クラスの変数やメソッドを引き継ぐことができ、新たに定義しなくても済むようになります。
これにより、コードの可読性が向上するのです!!
ね?結構便利でしょ!!
次に「this」と「super」です。
int id;
void setId (int id) {
id = id;
}
上記のようなコードがあったとします。
これでは変数名とメソッドの引数名が一緒であるため、メソッドで行われている処理をすると、
引数のidを変数のidに代入されません。
int id;
void setId (int id) {
this.id = id;
}
こちらは先ほどと違い、メソッド内の左側のidに「this」が付いています。
この「this」をつけることで、変数のidであることを示すことができ、引数のidを変数のidに代入することができます。
続いて「super」です。
先ほど継承について説明しましたよね。
そこで出てきたのがサブクラスとスーパークラスでした。
「super」はサブクラスで、スーパークラスの変数やメソッドを使用したい時に記述します。
class SarubeeA {
int id = 10;
}
class SarubeeB extends SarubeeB {
int id = 20;
System.out.println(id); ①
System.out.println(super.id); ②
}
※System.out.println();とは「()」内のものを出力するメソッドです。
上記のように記述すると、
①では20、②では10が出力されます。
このように「super」を使うことでスーパークラスの変数などを使うことが可能になります。
今回学習した部分は動きがわかりやすく、学習もしやすかったですね。
それにプログラミング感がだいぶ強まってきたので、勉強していて楽しいです!!
早くエンジニアになりたいですね。
なのでもっと頑張ります!!!