/** * ドメイン非依存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 継承(finalメソッド) 036 解答例 | Javaドリル

014 継承(finalメソッド) 036 解答例

014-036 014 継承
// DatabaseConnectionクラス
public class DatabaseConnection {
    // final修飾子を持つconnectメソッド
    public final void connect() {
        System.out.println("データベースへの接続を確立します");
    }
}

// Subclassクラス(DatabaseConnectionクラスを継承したサブクラス)
public class Subclass extends DatabaseConnection {
    // 以下のコードでエラーが発生します
    // サブクラスでfinal修飾子を持つメソッドをオーバーライドしようとしているため
    // エラー: connect() in Subclass cannot override connect() in DatabaseConnection
    // overridden method is final
    // @Override
    // public void connect() {
    //     // 新しい接続手法を追加しようとしても、final修飾子があるためエラーが発生
    //     System.out.println("新しい接続手法");
    // }
}

この例では、DatabaseConnectionクラスにfinal修飾子を持つconnectメソッドがあります。そして、そのクラスを継承したSubclassクラスでconnectメソッドをオーバーライドしようとしています。しかし、connectメソッドがfinal修飾子を持つため、サブクラスでのオーバーライドが制限され、エラーが発生します。

「014 継承」問題集リスト

🎯 実習で理解を深めよう

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

コメント

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