教育・子育て

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
12月!今年も最後の一カ月!寒さもキツくなってきたから体調管理はしっかりしていかないとね WWW

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ALISのシステム概観

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

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

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

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

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

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

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

無料案内所という職業

Like token Tip token
84.20 ALIS