教育・子育て

java chapter 17 継承 1⃣

マんタ's icon'
  • マんタ
  • 2022/12/23 00:35

はい、そろそろ続きを。

 

今度は継承をやっていきます。

作成するシステムを分析すると、作る必要のあるクラスがたくさん出てきます。

それぞれ違った役割のクラスもありますが、いくつかは似た役割のクラスもあります。

なので、よく似たクラスを見つけてその共通部分を一つにします。

類似のクラスはそれを使い、容易に作成でき、メンテナンスが楽です。

これを可能にするのが継承です。

継承は同じ種類のクラスを差分だけを作ることで完成できる便利な方法です。

今回は継承を使ったクラスの作成方法と規則を解説します。

1.継承とは

継承はオブジェクトの設計図であるクラスを再利用するための技術。

既存のクラスを引き継いだうえで、機能を付け加えたり、一部変更をしたりして新しいクラスを作れます。

では、実際にやりながら見ていきます。

1.スーパークラス

継承元のクラスをスーパークラスと言う。

そして、スーパークラスを継承して作る新しいクラスはサブクラスと言います。

では、継承をわかりやすくするために具体的な例を見ていきます。

例えばスポーツジムの館員管理システムがあったとすると…

一般会員、学生会員、法人会員があったとします。

Content image

 

こんな感じwww

三種類の会員がいますが、3つのクラスをそのまま作るのはオブジェクト指向的に

      NG です!

三種類の会員には共通部分があるはずなので、その共通部分をまとめてスーパークラスにします。

 

package sample17_01;
public class Member {
private int id;
private String name;
public Member(int id, String name) {
 this.id   = id;
 this.name = name;
}
public int getId() {
 return id;
}
public String getName() {
 return name;
}


 
public static void main(String[] args) {
 Member member = new Member(100, "ALIS1");
 System.out.println(member.getId()+"/"+ member.getName());
}
}

プログラムのほうは大体こんな感じになります。

 

で、起動するとこのようになるはずです。

Content image

 

2.継承してサブクラス作成

次はMemberクラスを継承して学生会員のクラスを作成します。

package sample17_01;

public class Student extends Member {

private String studentId;

public Student(int id, String name, String studentId){

 super(id ,name);
 
 this.studentId = studentId;
 
}
public double discount(){

 return 0.2;  
 
}

public String getStudentId() {

 return studentId;
 
}

}

コレが継承したプログラムです.

ちょっとわかりにくいと思うので図で説明します。

Content image

継承を意味するのは、2行目のextendsキーワード

extendsは特定のクラスを継承するという宣言で、

extends Member と書くだけでMemberクラスを継承する意味になります。

 

studentクラスに書くのは、コンストラクタを除くとつかしたメンバだけ。

Menberクラスのメンバはコンパイル時に自動的に取り込まれるので書く必要はないです。

次の図で確認してみますwww

Content image

今回はここまでにしておきますwww

次回はサブクラスのコンストラクタと継承ツリーについて・・・

 

こりゃ~確実に年内終わらんわwww

 

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

 

参考書は__________________________________

新わかりやすい Java

川場 隆  Kawaba Takashi

秀和システム

______________________________________

 

BY マんタ

Article tip 0人がサポートしています
獲得ALIS: Article like 0.00 ALIS Article tip 0.00 ALIS
マんタ's icon'
  • マんタ
  • @25kit6
11月になりましたねwwwだんだん寒くなって来たしそろそろ本格的な冬モードかな?怪しげな風邪と菌も流行ってるみたいだし予防と消毒はしっかりしないとね!

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
ビジネス

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ALISのシステム概観

Like token Tip token
5.00 ALIS