/** * ドメイン非依存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 継承(protected修飾子) 019 解答例 | Javaドリル

014 継承(protected修飾子) 019 解答例

014-019 014 継承
// パッケージmypackage1内のMyClass.java

package mypackage1;

// MyClassクラスを定義
public class MyClass {
    // protectedなメソッド
    protected void myProtectedMethod() {
        System.out.println("This is a protected method.");
    }

    // protectedな変数
    protected int myProtectedVariable = 42;

    // コンストラクタ
    protected MyClass() {
        System.out.println("MyClass constructor called.");
    }
}
// パッケージmypackage2内の別のクラス

package mypackage2;

import mypackage1.MyClass;

// mypackage1のMyClassを継承したクラス
public class AnotherClass extends MyClass {
    public static void main(String[] args) {
        // myProtectedMethodにアクセス
        new AnotherClass().invokeProtectedMethod();

        // myProtectedVariableにアクセス
        new AnotherClass().accessProtectedVariable();

        // protectedコンストラクタにアクセス
        new AnotherClass().createInstance();
    }

    // protectedメソッドを呼び出すメソッド
    public void invokeProtectedMethod() {
        myProtectedMethod();
    }

    // protected変数にアクセスするメソッド
    public void accessProtectedVariable() {
        System.out.println("Protected Variable: " + myProtectedVariable);
    }

    // protectedコンストラクタを呼び出すメソッド
    public void createInstance() {
        MyClass instance = new MyClass();
        System.out.println("Instance created.");
    }
}

この例では、mypackage2内のAnotherClassがmypackage1内のMyClassを継承しています。それにより、AnotherClassからMyClassのprotectedメソッドや変数にアクセスできます。

protected修飾子は、同じパッケージ内であればアクセスが可能であり、さらにサブクラスからもアクセスが可能です。このため、AnotherClassがMyClassを継承していることで、mypackage2内からmypackage1のMyClassのprotectedメンバーにアクセスできるようになります。

「014 継承」問題集リスト

🎯 実習で理解を深めよう

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

コメント

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