ch04 — 抽象クラス (abstract)
スライドで見るこの章を AI と学ぶ
演習問題の詳細
この章の演習問題の内容を読めます。実際に手元で解くには教材リポジトリを clone してください。
ドリル 01 — abstract PaymentMethod を継承した Card
題材
EC サイトの決済処理。複数の支払い手段を共通の枠で扱うため、親で charge() の存在だけ強制し、具体の処理は子に書かせる。
本番では Stripe / PAY.JP の SDK を呼ぶが、ここでは練習のため文字列で返す。
やること
abstract class PaymentMethod を定義してください。
abstract public function charge(int $amount): string;を宣言する (中身は書かない)
PaymentMethod を継承した Card クラスを定義してください。
charge(int $amount): stringを実装して"カードで {amount} 円を決済しました"を返す
Card をインスタンス化し、charge(1500) の結果を 1 行出力してください。
期待される出力
カードで 1500 円を決済しました
ヒント
abstract class PaymentMethod { abstract public function charge(int $amount): string; }class Card extends PaymentMethod { ... }echo $c->charge(1500) . "\n";- 文字列連結は
"カードで {$amount} 円を決済しました"でも. ' '.でも OK
🧪 ブラウザで試す
スライドのコードを写経して ▶ 実行、自分で書いて 📝 採点 で答え合わせ。初回のみ PHP ランタイム読込で数秒かかります。
PHP ランタイム未読込
演習問題(1問)
サイト内で問題文・雛形・解答例を確認できます。実際に手元で解くには教材リポジトリを clone してください。
完了にすると進捗に反映されます