概要

メソッド (method) は クラスの中に定義された関数 で、そのクラスのインスタンスが「できる動作」を表す。User クラスに greet() メソッドを書けば、$user->greet() の形で呼び出せる。書き方は通常の関数と同じく function 名前() { ... } を使い、クラスの { } の中に並べる。データだけ持っていたインスタンスが、これで「振る舞い」も持てるようになる。

メソッドの呼び出しは インスタンス->メソッド名() の形で、プロパティ (->prop) と同じ -> を使うが「() が付くかどうか」で区別される。$user->name はプロパティ、$user->greet() はメソッド呼び出しになる。メソッドにも引数を渡せて ($user->add(5))、関数と同じ感覚で値を受け取れる。

このチャプターでは $this をまだ使わない。プロパティを更新したいときは外から $user->age = 25; のように直接代入する形で扱い、メソッドの中身は固定文言の出力や引数の演算結果の出力に留める。「メソッド呼び出しのリズム」を先に体に入れて、次の章 ($this) でメソッド内からプロパティを参照するパターンに進む。

学習目標

ドリル

no 内容
01 引数なしの greet() メソッドで「こんにちは」と出す
02 引数ありの add(int $n) メソッドで age を更新する

$this はまだ使わない。プロパティ更新は外から $obj->age = ... で行う。$this は ch05 で扱う。

演習: ドリル 01 — greet メソッドを呼ぶ

問題

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

new User() でインスタンスを作り、greet() を呼んで出力してください。

期待される出力:

こんにちは

ヒント

この章を AI に聞く

  1. 「ch04 — メソッドを定義して呼ぶ」のつまずきやすいポイントを、初学者向けに3つ教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

  2. 「ch04 — メソッドを定義して呼ぶ」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    💬 ChatGPT 📘 Claude ✨ Gemini

  3. 「ch04 — メソッドを定義して呼ぶ」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

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

ch04 — メソッドを定義して呼ぶ」を読み終えました。
学んだことを誰かに教えると、もっと記憶に残ります。

X で共有 Hatena LINE