クラスの基本 / 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->nameをreturnする
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";