クラスの基本 / ch07 — アクセス修飾子 (public / private / protected) / 演習 01

📝 ドリル 01 — private プロパティを getter で取り出す

問題

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

  • private string $name; (private を必ず使う)
  • public function __construct(string $name)$this->name を初期化する
  • public function getName(): string$this->namereturn する

new User("太郎") でインスタンスを作り、getName() の戻り値を出力してください。

期待される出力:

太郎

採点

php scripts/grade.php v2/topics/08-class/ch07-visibility/drill/01-private-getter/

ヒント

  • プロパティの修飾子は private にする (public だと採点の意図がブレるのでダメ)
  • $u->name で取ろうとするとエラーになる。必ず $u->getName() で取り出す
  • メソッドの中なら $this->name で問題なく触れる

テストケース

期待される出力

太郎

📄 starter.php(雛形)

このコードから書き始めてください。

<?php

// TODO:
//   1. User クラスを定義する
//        private string $name;
//        public function __construct(string $name) { /* $this->name を初期化 */ }
//        public function getName(): string { /* $this->name を return */ }
//   2. $u = new User("太郎"); でインスタンスを作る
//   3. echo $u->getName() . "\n"; で出力する ($u->name は private なので使えない)
✅ 解答例を見る(自分で解いてから)
<?php

class User {
    private string $name;

    public function __construct(string $name) {
        $this->name = $name;
    }

    public function getName(): string {
        return $this->name;
    }
}

$u = new User("太郎");
echo $u->getName() . "\n";