Java のインターフェースを理解する – 簡単なガイド

王林
リリース: 2024-08-31 13:02:36
オリジナル
1067 人が閲覧しました

Understanding Interfaces in Java – A Simple Guide

インターフェースとは何ですか?

Java では、インターフェイスはクラスに対して設定するコントラクトのようなものです。クラスがインターフェイスに同意すると、そのインターフェイスによって定義されたルールまたはメソッドに従うことが約束されます。これは、クラスが従わなければならない一連の指示のようなものだと考えてください。

インターフェイスを使用する理由

インターフェースは、異なるクラスが同じルールセットに従いながらも独自の方法で実装したい場合に非常に便利です。動物の群れを想像してください。鳥は飛び、魚は泳ぎ、犬は走ります。すべてを独自の方法で「移動」させたい場合は、インターフェースを使用してその「移動」アクションを定義します。

インターフェースの作成

Movable という単純なインターフェイスを作成してみましょう:

public interface Movable {
    void move();  // Any class that implements Movable must define how to move
}
ログイン後にコピー

このインターフェースには、move() というメソッドが 1 つだけあります。このインターフェースに同意するクラスには、move() メソッドが必要です。

インターフェースの実装

Movable インターフェースを実装するクラスをいくつか作成してみましょう:

public class Bird implements Movable {
    public void move() {
        System.out.println("The bird flies.");
    }
}

public class Fish implements Movable {
    public void move() {
        System.out.println("The fish swims.");
    }
}
ログイン後にコピー

ここでは、Bird クラスと Fish クラスは両方とも Movable インターフェースに同意していますが、それぞれ独自の移動方法を持っています。

複数のインターフェース

インターフェイスの優れた点の 1 つは、クラスが複数のインターフェイスを実装できることです。 Soundable というインターフェイスもあるとします:

public interface Soundable {
    void makeSound();
}
ログイン後にコピー

Dog クラスは Movable と Soundable の両方を実装する場合があります:

public class Dog implements Movable, Soundable {
    public void move() {
        System.out.println("The dog runs.");
    }

    public void makeSound() {
        System.out.println("The dog barks.");
    }
}
ログイン後にコピー

これは、私たちの犬が動くことも音を立てることもできることを意味します!

インターフェースと抽象クラス

  • 多重継承: クラスは複数のインターフェースを実装できますが、拡張できるのは 1 つの抽象クラスのみです。
  • メソッド: インターフェイスは抽象メソッドのみを持つことができますが (古いバージョンの Java)、抽象クラスは抽象メソッドと通常のメソッドの両方を持つことができます。
  • 変数: インターフェイスは定数 (静的最終変数) を持つことができますが、インスタンス変数を持つことはできません。

チャレンジ: 自分で試してみましょう!

  1. メソッド play() を使用して Playable というインターフェイスを作成します。
  2. Playable を実装する 2 つのクラス、Guitar と Piano を作成します。
  3. これらのクラスのオブジェクトを作成し、play() メソッドを呼び出すコードを記述します。

結論

Java のインターフェースは、各クラスが独自の方法でルールを実装できるようにしながら、さまざまなクラス間でルールを強制する強力な方法です。コードの柔軟性と一貫性が促進され、管理と拡張が容易になります。

以上がJava のインターフェースを理解する – 簡単なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!