LoginSignup
0

posted at

updated at

クラスとインスタンス PHP

クラス

クラスとは設計図!
その設計図には、「変数」と「関数」が書いてある!
変数で設定を決めて、関数で何するかを決めている!

インスタンス

クラスという設計図を元にして、実際に作っていくこと!
家を建てるイメージをすればOK!設計図を書いてから、それを元に家を建てていく!
インスタンスは複数作ってOK!設計図があれば家は複数建てられる!

クラスとインスタンスの書き方

書き方
<?php
// クラスの書き方
class クラス名 {
  $変数名1;
  $変数名2;

  function 関数名(){
    // 何をするかをここに書く
  }
}

// インスタンスの書き方
$インスタンス名 = new クラス名();
$インスタンス名->変数名 = ;
$インスタンス名->関数名();
?>
  • $インスタンス名 = new クラス名(); でスタートするのは決まり!
  • $インスタンス名->変数名 = 値; でクラスで設定した変数名の値を決めている!
    ※変数名に $ は書かない!
    -> はアロー演算子!変数や関数にアクセスする時に使われる演算子!
  • $インスタンス名->関数名(); で関数を呼び出す!

クラスとインスタンスの例

<?php
// クラス
class hoge {
  $name;
  $team;

  function hogehoge(){
    echo $this->name . "は" . $this->team . "チームです。";
  }
}

// インスタンス
$tanaka = new hoge();
$tanaka->name = "田中";
$tanaka->team = red;
$tanaka->hogehoge();
?>

// 結果
田中はredチームです。

解説

  • hogeクラスに $name(人の名前)$team(チームカラー) を設定した。
  • 「hogehoge」という関数を定義して、 $nameは$temaチームです。 という処理を書いた。
  • $name に「田中」、$team に「red」という値を入れた。
  • 関数「hogehoge」を呼び出した。
    $this はクラス内の変数や関数にアクセスする時に使う! $this->変数名 のような形で書く!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0