広告スペース(バナー)
🐘PHP レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 9 / 68

クラスを使ってみよう(オブジェクト指向)

このレッスンでは、PHPのclass構文を使ったオブジェクト指向プログラミングの基本を学び、共通の性質を持つデータをまとめて扱えるようになることを目標にします。「PHP class 使い方」で調べている方向けです。

PHPもclassでクラスを定義できます。__constructは初期化用の特別なメソッド、->でプロパティやメソッドにアクセスします。「動物の設計図」があれば「犬」「猫」といった具体的なインスタンスを何個でも作れるイメージです。

サンプルコードでは、Animalクラスに$name$soundというプロパティを持たせ、speak()メソッドで鳴き声のメッセージを組み立てています。new Animal("犬", "ワン")で作ったインスタンスに対して、->を使ってメソッドを呼び出している点も確認してみましょう。

初心者がよくつまずくのが、$thisの使い方です。クラスの中で自分自身のプロパティにアクセスするには$this->nameのように書く必要があり、単に$nameと書くだけでは正しく参照できません。この違いに最初は戸惑うことが多いです。

WordPressのようなCMSの内部でも、この仕組みが広く使われています。PHP 8以降ではコンストラクタプロモーションという、より簡潔にプロパティを定義できる書き方も追加されました。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではPHPを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
複数のキャラクターを管理する、簡単なミニゲームの土台が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)