/** * ドメイン非依存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); 015 ポリモーフィズム(基本的なポリモーフィズム) 003 解答例 | Javaドリル

015 ポリモーフィズム(基本的なポリモーフィズム) 003 解答例

015-003 015 ポリモーフィズム
// Shape クラスの定義
class Shape {
    // area メソッド
    public double area() {
        System.out.println("Calculating area of a generic shape");
        return 0.0; // デフォルトの値(ダミー)
    }
}

// Circle クラスの定義(Shape クラスを継承)
class Circle extends Shape {
    // area メソッドをオーバーライド
    @Override
    public double area() {
        System.out.println("Calculating area of a circle");
        // 円の面積を計算(具体的な計算式を追加)
        double radius = 5.0; // 仮の半径
        return Math.PI * Math.pow(radius, 2);
    }
}

// Rectangle クラスの定義(Shape クラスを継承)
class Rectangle extends Shape {
    // area メソッドをオーバーライド
    @Override
    public double area() {
        System.out.println("Calculating area of a rectangle");
        // 長方形の面積を計算(具体的な計算式を追加)
        double length = 4.0; // 仮の長さ
        double width = 6.0;  // 仮の幅
        return length * width;
    }
}

// メインクラス
public class Main {
    public static void main(String[] args) {
        // Shape クラスのオブジェクトを作成
        Shape shape = new Shape();
        // Shape クラスの area メソッドを呼び出す
        double genericArea = shape.area();
        System.out.println("Area of generic shape: " + genericArea);

        // Circle クラスのオブジェクトを作成
        Circle circle = new Circle();
        // Circle クラスの area メソッドを呼び出す(オーバーライドされたバージョンが呼ばれる)
        double circleArea = circle.area();
        System.out.println("Area of circle: " + circleArea);

        // Rectangle クラスのオブジェクトを作成
        Rectangle rectangle = new Rectangle();
        // Rectangle クラスの area メソッドを呼び出す(オーバーライドされたバージョンが呼ばれる)
        double rectangleArea = rectangle.area();
        System.out.println("Area of rectangle: " + rectangleArea);
    }
}

このコードでは、Shape クラスにはデフォルトの area メソッドがあり、Circle クラスと Rectangle クラスがそれぞれこのメソッドをオーバーライドしています。メインクラスでは、Shape クラス、Circle クラス、および Rectangle クラスのオブジェクトを作成し、それぞれの area メソッドを呼び出しています。

「015 ポリモーフィズム」問題集リスト

🎯 実習で理解を深めよう

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

コメント

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