教育・子育て

java chapter 19 抽象クラス・インタフェース

マんタ's icon'
  • マんタ
  • 2025/12/04 04:30

はい、のこり100ページ前後に・・・・

 

長かったねwww

 

で、今回は 抽象クラス・インタフェース についてやっていきます。

 

 

1.抽象クラス

抽象クラスは、その時使うスーパークラスを作成するためのクラス。

 

普通のクラスとはすこし書き方が違います

違いは、オーバライドしてほしいメソッドの書き方で、抽象メソッドという形式を使います。

 

挨拶を汎用するクラスを見ていきます。

package sample19_01;
public abstract class Greeting {
public abstract String language();
public abstract String message();
}

abstract は各一に注意が必要です。

メソッドの戻り値よりも先に書かないとコンパイルエラーになるので・・・

★抽象クラスの特質

 抽象クラスには次の2つの特徴があります

 

♦抽象クラスの特徴

 ①普通のクラスとの違いは、 abstract を付けることだけ。

 ②インスタンスを作れない。 

 

2.インターフェースとは何か?

 一般に、ソフトウェア世界で インターフェースとは、

     ソフトウェア・インタフェース 

プログラムを操作するために利用できる公開された情報

ソフトウェア・インタフェースは API (Application Programming Interface)と呼ばれています。

 

続いて、インタフェースのつくりかたについてやっていきます。

package sample19_02;
public interface Responsible {
String info();
String exp();
}

Java言語ではResponsibleインタフェースそのまま書くことができないので

interfaceというキーワードを使って定義します。

 

Responsibleインタフェースとは

AI(人工知能)システムがユーザーに対して、その機能や決定過程を倫理的・責任ある形で提示するユーザーインターフェース(UI)/UXデザイン

 

Content image

書き方は上の図のように書きます

省略されてる修飾子は指定されているとみなされているので書かなくてもOK

 

上の例題では public を使用してますが デフォルトアクセスでもできます。

 

★インターフェースの書き方

 インターフェースは public か デフォルトアクセス のどちらかにする

 抽象メソッドには public abstract が省略される

 

3.インターフェースの実装

 

package sample19_02;
public class Member implements Responsible{
private int id;
private String name;
public Member(int id, String name) {
 this.id   = id;
 this.name = name;
}
@Override
public String info() {
 return "Member ver1.0";
}
@Override
public String exp() {
 return "フィットネスクラブケ";
}  
public int getId() {
 return id;
}
public String getName() {
 return name;
}
}

 

 上のプログラムは17章で使用したフィットネスクラブの一般会員を表すクラス

implements キーワードを使い Responsibleインターフェースの実装を宣言

チェック機能が働くのでインタフェースにある抽象メソッドを正しくオーバーライドしないとコンパイルエラーに

 

重要な部分だけ説明をしておきます。

 

★インターフェースの定義と実装のパターン

 インタフェースはextendsキーワードで他のインターフェースを継承できる

 クラス継承と同時にインターフェースの実装を指定できる

 複数のインターフェースを同時に実装できる

 

 

4.インタフェース型

 Java言語の規約ではクラスを作るとクラス名と同じ型が使えるようになる

 Responsible型は インタフェース型

 

Content image

コレで参照型のすべての型が出そろいました。

 

 

package sample19_03;

public class Exec {
public static void main(String[] args) {
 Responsible res = new Member(118, "tanaka");
 System.out.println(res.info());
 System.out.println(res.exp());
 //System.out.println(res.getName());
}
}

 

package sample19_04;

public class Information {
public static void print(Responsible res){
 headder(res);
 body(res);
}
public static void headder(Responsible res){
 System.out.println(res.info());
}
public static void body(Responsible res){
 System.out.println(res.exp());
}
}

 

package sample19_04;

public class Exec {
public static void main(String[] args) {
 Member member  = new Member(118, "田中宏");
 Member student  = new Student(120, "佐藤修ョ", "A223");
 Greeting greeting  = new Greeting();
 Information.print(member);
 Information.print(student);
 Information.print(greeting);
}
}

 

文字化けしていてうまく起動しないのでプログラムだけのせておきます。

 

最後にインターフェースの使い方を

 

★インターフェースの使い方

 ①抽象クラスの代替として、多重継承を避ける目的で使う

 ②特定のインターフェースを実装したクラスを対象とする、

  ユーティリティクラスを作るために使う

 

 

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

 

あと1記事だけど間に合うかな~~~~~~~~~~~

 

 

BY マんタ

参考書は__________________________________

新わかりやすい Java

川場 隆  Kawaba Takashi

秀和システム

______________________________________

Supporter profile icon
Article tip 1人がサポートしています
獲得ALIS: Article like 85.24 ALIS Article tip 22.20 ALIS
マんタ's icon'
  • マんタ
  • @25kit6
12月!今年も最後の一カ月!寒さもキツくなってきたから体調管理はしっかりしていかないとね WWW

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

無料案内所という職業

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

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

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

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

Like token Tip token
124.82 ALIS