/** * ドメイン非依存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); 014 継承(明示的なスーパークラスのメソッド呼び出し) 030 解答例 | Javaドリル

014 継承(明示的なスーパークラスのメソッド呼び出し) 030 解答例

014-030 014 継承
public class Vehicle {
    public void start() {
        System.out.println("車両が始動しました");
    }
}

public class Car extends Vehicle {
    // Car クラス独自のフィールドやメソッドがあればここで宣言

    // start メソッドのオーバーライド
    @Override
    public void start() {
        // Car クラス独自の処理
        System.out.println("車がエンジンをかけました");

        // 親クラスの start メソッド呼び出し
        super.start();
    }

    // Car クラス独自のメソッドがあればここで宣言
}

この解答例では、Vehicle クラスに start メソッドがあり、それを Car クラスが継承しています。Car クラスでは start メソッドをオーバーライドし、「車がエンジンをかけました」と表示した後に、super.start() を使って親クラスの start メソッドも呼び出しています。これにより、親クラスのメッセージも表示されます。

明示的なスーパークラスのメソッド呼び出し

Javaにおいて、サブクラスでスーパークラスのメソッドをオーバーライドした場合、サブクラスで新しい実装をしたい場合でも、親クラスのメソッドを呼び出すことができます。これは、「明示的なスーパークラスのメソッド呼び出し」と呼ばれます。super キーワードを使用して行います。

以下はその基本的な構造です:

public class SuperClass {
    public void method() {
        System.out.println("SuperClass method");
    }
}

public class SubClass extends SuperClass {
    @Override
    public void method() {
        // 親クラスのメソッド呼び出し
        super.method();
        
        // サブクラス独自の処理
        System.out.println("SubClass method");
    }
}

ここでは、SubClass が SuperClass を継承しています。SubClass では method をオーバーライドしていますが、super.method(); を使って親クラスの method を呼び出しています。これにより、親クラスの動作を利用しつつ、サブクラス独自の処理を追加できます。

この仕組みを使うことで、コードの再利用性や保守性を向上させることができます。

「014 継承」問題集リスト

🎯 実習で理解を深めよう

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

コメント

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