演習課題「学生クラスのメソッドを呼び出す」
右のコードは、学生の国語と算数のテストの点数を計算するクラスです。メソッドにstaticが付いているので、クラスをインスタンス化しなくても、メソッドを呼び出すことができます。
次のテストの点数を使って、sum()メソッドを呼び出し、合計点数の計算結果を表示してください。
出力形式のXXXのところに、合計点数が入ります。
国語 = 70点
算数 = 43点
出力形式: 合計はXXX点です。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
合計は113点です。
#07:staticを理解しよう
ここでは、静的なメソッドや変数を定義するキーワードである「static」について学習します。
<?php
// staticを理解しよう
class Item {
public static $tax = 1.08;
// public $price;
// public $quantity;
// public function __construct($newPrice, $newQuantity){
// $this->price = $newPrice;
// $this->quantity = $newQuantity;
// }
public static function getTotalAmount($price, $quantity) {
return round($price * $quantity * self::$tax);
}
}
$total = Item::getTotalAmount(120, 15);
echo "合計金額は" . $total . "円です。\n";
?>
staticが付いたメンバー変数やメソッドは、全てのインスタンスで共通して利用できます。また、オブジェクトを作らなくてもアクセスできます。
- クラスとは何か - PHP入門
https://www.phpbook.jp/tutorial/class/index1.html
- PHPの静的変数 (static変数) の挙動まとめ - Qiita
https://qiita.com/trashtoy/items/f4e2a97765e620bb2828