
【例題1 店舗ごとの売上合計を計算する】
店舗名 | ジャム | ジュース | ソース |
本店 | 20000 | 18000 | 12000 |
支店 | 16000 | 14000 | 10000 |
前回紹介したクラスのお作法に従ってみる。
- クラス名はアルファベットの大文字で始める。
- 1つのクラスは1つの独立したphpファイルに記述する。 クラスを記述する
- phpファイルのファイル名は、「クラス名.php」とする。
【クラスUrigaeのファイル】Urigae.php
- <?php
- //クラスの定義
- class Uriage
- {
- public $name = "";
- public $jam = 0;
- public $juice = 0;
- public $souce = 0;
- }
- ?>
【クラスを使ったオブジェクト指向】sample1-3.php(修正後)
- <?php
- //クラスの呼び出し
- require_once("Uriage.php");
- //関数の定義
- function printSum(string $name, int $jam, int $juice, int $souce): void
- {
- $sum = $jam + $juice + $souce;
- echo($name."の売上合計は: ".$sum."円です。"."<br>");
- }
-
- //インスタンスを格納
- $honten = new Uriage();
- $honten->name = "本店";
- $honten->jam = 20000;
- $honten->juice = 18000;
- $honten->souce = 12000;
- printSum($honten->name, $honten->jam, $honten->juice,$honten->souce);
- $siten = new Uriage();
- $siten->name = "支店";
- $siten->jam = 16000;
- $siten->juice = 14000;
- $siten->souce = 10000;
- printSum($siten->name, $siten->jam, $siten->juice,$siten->souce);
- ?>
【実行結果】
本店の売上合計は50000円です。
支店の売上合計は40000円です。
require_once(“Uriage.php”);
クラスファイルを読み込んで、
新しい用語「インスタンス」
これがまたわかりにくいが、例によってネットで検索した結果を整理すると、以下のような関係かなと勝手に納得する。
- PHPのクラスとはプロパティとメソッドの集合体であること。つまり定義をしているものであるから、実体はない。
- インスタンスは、「new」キーワードでクラスのプロパティとメソッドの構造を引き継ぐが、アロー演算子(->)でそれぞれのプロパティやメソッドに値(?)を入れることができるので、実体がある。
今回は、前回のサンプルプログラムを1つのクラスを独立したphpファイルに記述し、本体プログラムと分離したのだが、このようにクラスを別ファイルで定義しておけば、本体プログラムが簡潔になりそうな気がする。
今回は関数はクラスの外で使ったが、次回はクラスのメソッドとして関数を宣言してみよう。