「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Java のインターフェースを理解する – シンプルなガイド

Java のインターフェースを理解する – シンプルなガイド

2024 年 8 月 31 日に公開
ブラウズ:837

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

リリースステートメント この記事は次の場所に転載されています: https://dev.to/be11amer/ Understanding-interfaces-in-java-a-simple-guide-npk?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3