教育・子育て

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
11月になりましたねwwwだんだん寒くなって来たしそろそろ本格的な冬モードかな?怪しげな風邪と菌も流行ってるみたいだし予防と消毒はしっかりしないとね!

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
教育・子育て

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

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

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

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

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

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

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

Like token Tip token
61.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
46.20 ALIS
Eye catch
教育・子育て

【科学(化学)】進化に必要だった猛毒のガス~酸素~

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

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

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

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

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

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

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

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

Like token Tip token
16.10 ALIS