概要

プロパティ (property) は インスタンスが保持するデータの場所 で、PHP では $obj->prop の形でアクセスする。-> (アロー) はオブジェクトの中身を指す演算子で、$user->name = "太郎" で代入、echo $user->name; で取得できる。1 つのインスタンスに複数のプロパティを定義しておけば、name age city のような関連データをひとまとまりで保持できる。

プロパティへのアクセスは 左辺と右辺の両方で使える$user->age = 20; (左辺で代入) と echo $user->age; (右辺で取得) は同じ記法で、これは通常の変数 $x と同じリズムで読み書きできるということ。インスタンスごとにプロパティは独立しているので、$a->name$b->name を別々に設定しても互いに影響しない。

このチャプターでは public プロパティを使った素朴な代入と取得だけを扱い、外から自由に書き換えられる状態にしている。実務では「外から書き換えてほしくないデータ」を private にして getter / setter 越しに公開する設計が一般的だが、それは ch07 (アクセス修飾子) で扱う。まずは「インスタンスはデータを持てる」「プロパティは -> で出し入れする」の感覚をしっかり付ける。

学習目標

ドリル

no 内容
01 nameage を設定して両方を出力
02 name / age / city の 3 プロパティを設定して出力

演習: ドリル 01 — 2 つのプロパティを設定して出力

問題

User クラスを定義してください。

new User() でインスタンスを作り、name"太郎"age20 を入れて、それぞれ 1 行ずつ出力してください。

期待される出力:

太郎
20

ヒント

演習: ドリル 02 — 3 つのプロパティを設定して出力

問題

User クラスを定義してください。

new User() でインスタンスを作り、次の値を入れてください。

プロパティ
name "太郎"
age 25
city "東京"

その後、nameagecity の順に 1 行ずつ出力してください。

期待される出力:

太郎
25
東京

ヒント

この章を AI に聞く

  1. 「ch03 — プロパティを読み書きする」のつまずきやすいポイントを、初学者向けに3つ教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

  2. 「ch03 — プロパティを読み書きする」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    💬 ChatGPT 📘 Claude ✨ Gemini

  3. 「ch03 — プロパティを読み書きする」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

🎉 受講お疲れさまでした!

ch03 — プロパティを読み書きする」を読み終えました。
学んだことを誰かに教えると、もっと記憶に残ります。

X で共有 Hatena LINE