教育・子育て

java chapter 17 継承 5⃣

マんタ's icon'
  • マんタ
  • 2024/03/17 01:04

ハイ、かなり時間が経ちましたが続きがやっと完成したので・・・

 

3.継承によるコンストラクタの連鎖

 

サブクラスのコンストラクタでは、最初にスーパークラスのコンストラクタを実行して、スーパークラスのオブジェクトを初期化することが必要でした。

クラスがいくつも継承されるときは、この規則は?ということで次の例で見ていきます。

内容には意味はありませんが、コンストラクタの起動順序を調べるためのものです。

 

Content image

起動するとコンソールにこう表示されます。

 

Content image

 

で、1つのソースファイルに複数のクラスを書けることは16章で学びました。

(だいぶ前だけど・・・・)

この例題には4つのクラスがあり各クラスは次のような関係になります。

 

Content image

これらのクラスのコンストラクタはコンソールに ~クラス という文字列を表示します。次の図でどういう順序で実行されていくか見ていきます。

Content image

順序はこんな感じで実行されていきます。

4.protected修飾子

アクセス修飾子としてこれまでpublic,デフォルトアクセス、privateを解説してきましたが・・・ここで最後のアクセス修飾子、protectedを・・・

 

1.protectedの機能

 protectedは次のようなアクセス修飾子です。

 

★protected修飾子の機能

 A.同じパッケージのクラスからアクセスできるようにする

  (デフォルトアクセスと同じ)

 B.サブクラスからアクセスできるようにする。

 

 

 protectedを付けたメソッドや変数はサブクラスからアクセスできます。

サブクラスは別のパッケージにあっても問題なく、デフォルトアクセスの機能もあり、同じパッケージにあればサブクラスだけでなく、他のクラスからもアクセス可能です。

他のアクセス修飾子と共にまとめると次の図のようになります。

Content image

 

実際にprotectedの効果を見ていきます。

 

スーパークラス⇩

package sample17_03_1;
public class Data {
protected double value ;
protected void message() {
 System.out.println("Dataクラス");
}
}

 

サブクラス⇩

package sample17_03_2;
import sample17_03_1.Data;
public class BigData extends Data{
public void display(){
 System.out.println(value);
 message();
}
}

 

サブクラスのほうに注目!!!

BigDataクラスはDataクラスとは別パッケージにありますが、Dataクラスのサブクラスなのでprotectedなメンバ(value と message)を使うことができます。

特にvalue はprivateが普通ですがprotectedにしておくことでサブクラスからもアクセスができます。

 

次は継承の様子を示すイラスト

Content image

valueが継承したメンバになってる点に注意!!!

valueがprivateアクセスだった場合、コレは継承してないメンバになります。

 

 

★デフォルトアクセスと同じ効果も

protectedアクセスのメンバは、デフォルトアクセスと同様同じパッケージにあるクラスからは自由にアクセス可能。

 

実際に次の例題で試していきます。

 

package sample17_03_1;
public class Exec {
public static void main(String[] args) {
 Data dt = new Data();
 dt.value = 10.5;
 System.out.println(dt.value);
 dt.message();  
}
}

で、実行すると下のような感じになります。

Content image

アクセス修飾子の適用場所

アクセス修飾子はどんな要素につけれるか?ですが・・・一応規則があります。

アクセス修飾子はclass,コンストラクタ、クラスメンバ(フィールド変数、メソッド)インタフェースにつけることができます。

インタフェースについては後々出てくるのでその時に説明を(;・∀・)

Content image

 

ちょっと小さくて見にくいですが一応表を

 

コレで17章終了です。

残り18.19.20章合わせて約100ページだねwww

 

 

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

参考書は__________________________________

新わかりやすい Java

川場 隆  Kawaba Takashi

秀和システム

______________________________________

BY マんタ

Supporter profile icon
Article tip 1人がサポートしています
獲得ALIS: Article like 69.13 ALIS Article tip 4.10 ALIS
マんタ's icon'
  • マんタ
  • @25kit6
6月なのに寒っ!気温おかしくないか?まあ、ジメジメする時期のはずなんだけど予防だけはしないとねwww

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

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

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

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

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

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

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

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

Like token Tip token
1.06k ALIS
Eye catch
クリプト

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

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

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

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

ALISのシステム概観

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

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

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

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

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

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

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

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

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

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

Like token Tip token
12.10 ALIS