教育・子育て

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
クリプト

「ハッシュ」とは何なのか、必ず理解させます

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

防犯意識 マーキング 下書き供養④

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

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

Like token Tip token
114.82 ALIS
Eye catch
トラベル

無料案内所という職業

Like token Tip token
84.20 ALIS
Eye catch
教育・子育て

【科学】アリストテレスにデカルトにニュートンに…みな光に取り憑かれた~光学の発展~

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

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

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

ALISのシステム概観

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

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

Like token Tip token
159.32 ALIS
Eye catch
ビジネス

海外企業と契約するフリーランス広報になった経緯をセルフインタビューで明かす!

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

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

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

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
他カテゴリ

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

Like token Tip token
69.82 ALIS