教育・子育て

java chapter 17 継承 2⃣

マんタ's icon'
  • マんタ
  • 2023/02/19 01:06

ハイ、前回はサブクラスを作ってやるところまでやりました

今回はサブクラスのコンストラクタから・・・

 

Student型のオブジェクトは継承により引き継いだMemberクラスのメンバとStudentクラスで新規作成したメンバを接合した形です。なので、オブジェクトの初期化も2弾に分けて行います。

 

Content image

sutudent型の上段がMenberクラスから継承したメンバ。

ただし、Memberクラスでprivateアクセスになってるフィールド変数の 

id や name は存在しますがアクセスできません。

 

アクセスできるのはMemberクラスのメンバだけだからです。

 

Student クラスで、id や name が必要な時はアクセスメソッド、

getId()  getName() を使用。

 

アクセスできないメンバは存在しても「継承した」とは言えない。

なので、privateアクセスのメンバは「継承していないメンバ」 というわけです。

 

で、id や name を初期化する方法ですが・・・

Java言語の規約だと、 サブクラスのコンストラクタは、最初にスーパークラスのコンストラクタを実行しなければならない、 と決められている・・・

スーパクラスのコンストラクタを利用して初期化するというわけですwww

やり方は次のように

super(id,name);      //スーパークラスのコンストラクタ呼び出し

 

Studentクラスのコンストラクタでは、最初に super() を使って継承した部分を初期化し、新規に追加した変数の初期化を行う。

なので、Studentクラスのコンストラクタは次のようになっています。

 

public Student (int id, String name, String studentId){ //コンストラクタ

         super(id,name);  ←スーパークラスのコンストラクタを呼び出す
         
        this.studentId = studentId;
}

 

super(・・・)コンストラクタの先頭行(1行目)に書かないとコンパイルエラーになります。また、スーパークラスのコンストラクタを呼び出すのは、絶対的な規則。

super(・・・)を書かなかった場合でも引数のないsuper();を書いたとみなされる。

これにより、スーパークラスの引数のないコンストラクタが自動的に呼び出されます。

 

super(・・・)を省略した場合、スーパークラスに引数のないコンストラクタが定義されていないとコンパイルエラーになる。なので、省略する場合はスーパークラスに引数のないコンストラクタが定義されていることを確認してください。

 

 

ここまでご覧いただきありがとうございました。

 

次回は継承の効果を確かめるところから。

 

 

BYマんタ

 

参考書は__________________________________

新わかりやすい Java

川場 隆  Kawaba Takashi

秀和システム

______________________________________

Article tip 0人がサポートしています
獲得ALIS: Article like 15.73 ALIS Article tip 0.00 ALIS
マんタ's icon'
  • マんタ
  • @25kit6
遂に!今年最後の月!!!気温もかなり下がって最低気温一桁だけど、まだなんとか耐えられる!年内に雪降らないトいいけどね( ̄▽ ̄)

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
121.79 ALIS
Eye catch
他カテゴリ

京都のきーひん、神戸のこーへん

Like token Tip token
12.10 ALIS
Eye catch
他カテゴリ

警察官が一人で戦ったらどのくらいの強さなの?『柔道編』 【元警察官が本音で回答】

Like token Tip token
114.82 ALIS
Eye catch
他カテゴリ

オランダ人が語る大麻大国のオランダ

Like token Tip token
46.20 ALIS
Eye catch
他カテゴリ

テレビ番組で登録商標が「言えない」のか考察してみる

Like token Tip token
26.20 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
他カテゴリ

BCAAは本当に必要なのか?徹底的調査

Like token Tip token
1.20 ALIS
Eye catch
クリプト

続・NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
6.37 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
124.82 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS