/** * ドメイン非依存URL出力フィルタ * javadrill.tech移行時はwp_options.home/siteurlのみ変更すればよい * * データベースには絶対URL(https://minner.asia)を保持し、 * 表示時に現在のドメイン(home_url())に動的変換する */ function javadrill_make_urls_dynamic($content) { if (empty($content)) { return $content; } // データベース内の絶対URLを現在のhome_url()に置換 $old_url = 'https://minner.asia'; $new_url = untrailingslashit(home_url()); // http版も対応(念のため) $content = str_replace($old_url, $new_url, $content); $content = str_replace('http://minner.asia', $new_url, $content); return $content; } // 投稿本文、ウィジェット、タームの説明、抜粋に適用 add_filter('the_content', 'javadrill_make_urls_dynamic', 20); add_filter('widget_text', 'javadrill_make_urls_dynamic', 20); add_filter('term_description', 'javadrill_make_urls_dynamic', 20); add_filter('get_the_excerpt', 'javadrill_make_urls_dynamic', 20); 017 インターフェイス(基本構文と定義) 004 解答例 | Javaドリル

017 インターフェイス(基本構文と定義) 004 解答例

017-004 017 インターフェイス
public class Book implements Printable {
    @Override
    public void print() {
        System.out.println("This is a book.");
    }

    // 他のメソッドやフィールドを追加しても良い
}

このクラスは Printable インターフェイスを実装しています。そして、print メソッドでは、「This is a book.」とコンソールに表示する単純な実装がされています。このようにして、Book クラスは Printable インターフェイスの要求に従っています。

インターフェイスの実装

インターフェイスの実装は、インターフェイスで宣言されたメソッドをクラスで具体的な実装を提供することです。以下にその基本的な概念をまとめます。

  1. インターフェイスの宣言:
interface Printable {
    void print();
}
  1. インターフェイスの実装:
public class Book implements Printable {
    @Override
    public void print() {
        System.out.println("This is a book.");
    }
}

インターフェイスを実装するクラスは、implements キーワードを使用して宣言します。
インターフェイスのメソッドをクラスで実装するには、@Override アノテーションを使用します。

  1. インターフェイスの複数実装:
public class Magazine implements Printable, Distributable {
    @Override
    public void print() {
        System.out.println("This is a magazine.");
    }

    @Override
    public void distribute() {
        System.out.println("Distributing the magazine.");
    }
}

クラスが複数のインターフェイスを実装する場合、カンマで区切って列挙します。
各インターフェイスのメソッドを実装する必要があります。

  1. インターフェイスのデフォルトメソッド:
interface Printable {
    void print();

    default void preview() {
        System.out.println("Previewing...");
    }
}

インターフェイスにはデフォルトメソッドを含めることができます。
クラスがこのインターフェイスを実装する際に、デフォルトメソッドをオーバーライドすることは任意です。
インターフェイスの実装を通じて、異なるクラスが共通の振る舞いや契約を持つことができます。これはプログラムの柔軟性と拡張性を向上させ、異なるクラスを同じ型として扱うポリモーフィズムの概念に貢献します。

「017 インターフェイス」問題集リスト

🎯 実習で理解を深めよう

この内容についてJavaDrillで実際に手を動かして学習できます

コメント

タイトルとURLをコピーしました