/** * ドメイン非依存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); 018 オブジェクト指向の深化(インターフェイスと抽象クラスの利用) 005 問題 | Javaドリル

018 オブジェクト指向の深化(インターフェイスと抽象クラスの利用) 005 問題

018-005 018 オブジェクト指向の深化

問題

  • ジオメトリック図形の描画プログラムを設計してください。
    • Drawable(インターフェイス)
      • メソッド: draw()(図形を描画する)
    • Circle(円)
      • メンバー変数: 中心座標、半径
    • Rectangle(長方形)
      • メンバー変数: 左上の座標、幅、高さ
    • DrawingBoard(描画ボード)
      • メソッド: addShape(Drawable shape)(図形を描画ボードに追加する)

ヒント

  1. Drawable インターフェイス:
    • Drawable インターフェイスは、draw() メソッドを定義します。
    • このインターフェイスを実装するクラスは、draw メソッドによって自身を描画できるようになります。
  2. Circle クラス:
    • Circle クラスは Drawable インターフェイスを実装します。
    • メンバー変数として中心座標と半径を持ちます。
    • draw メソッドを実装して円を描画する処理を提供します。
  3. Rectangle クラス:
    • Rectangle クラスは Drawable インターフェイスを実装します。
    • メンバー変数として左上の座標、幅、高さを持ちます。
    • draw メソッドを実装して長方形を描画する処理を提供します。
  4. DrawingBoard クラス:
    • DrawingBoard クラスは、描画ボード上に図形を管理するクラスです。
    • addShape メソッドを提供して、描画ボードに図形を追加できるようにします。
    • 描画ボード内で管理される各図形は Drawable インターフェイスを実装している必要があります。

この設計により、Circle クラスと Rectangle クラスが共通の描画機能を提供し、それらを DrawingBoard クラスが管理できるようになります。新しいジオメトリック図形を追加する場合は、Drawable インターフェイスを実装するだけで描画ボードに追加できます。

→解答例

「018 オブジェクト指向の深化」問題集リスト

🎯 実習で理解を深めよう

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

コメント

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