教育・子育て

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
遂に!今年最後の月!!!気温もかなり下がって最低気温一桁だけど、まだなんとか耐えられる!年内に雪降らないトいいけどね( ̄▽ ̄)

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

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

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

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

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

ALISのシステム概観

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Like token Tip token
121.79 ALIS