ITHACK
~ みんなのIT部門 ~
【PHP/演習問題】self[2]

【PHP/演習問題】self[2]

問題

次の実行結果になる家クラスを扱うプログラムを作成してください。
なお、下記条件を満たすものとします。

  • 家クラスを作成する
  • 家クラスのフィールドは面積(単位:畳)とする
  • 家クラスのインスタンスを3つ生成し、各面積(畳)は次の通りとする
    1つ目 : 6
    2つ目 : 14
    3つ目 : 30
  • 家クラスのインスタンスの初期値はコンストラクタで設定する
  • 畳の高さ(1.82m)と横幅(0.91m)を記憶するクラス定数を定義する
  • クラス定数を使って家の面積(平方メートル)を出力するareaメソッドを作成する
  • クラス内でのクラス定数へのアクセスはselfキーワードを使う
面積 : 9.9372平方メートル
面積 : 23.1868平方メートル
面積 : 49.686平方メートル

解答例

<?php

class House {
    
    public const TATAMI_HEIGHT = 1.82;
    public const TATAMI_WIDTH = 0.91;
    
    public $tatami;
    
    public function __construct( $tatami ) {
        $this->tatami = $tatami;
    }
    
    public function area() {
        $area = self::TATAMI_HEIGHT * self::TATAMI_WIDTH * $this->tatami;
        echo "面積 : ".$area."平方メートル\n";
    }
    
}

$house1 = new House(6);
$house2 = new House(14);
$house3 = new House(30);

$house1->area();
$house2->area();
$house3->area();

?>