オブジェクト指向 ・ Chapter 13
継承を合成に書き直す
コード演習 ・ 冒頭を無料公開中
この章でやること
継承で書かれた設計を、合成に書き直すリファクタリングです。書き直す理由を自分の言葉で言えたら、ここまでの内容は合格です。
問題: 注文と支払い方法
ECサイトの注文処理が、継承で実装されています。まず現状のコードを読んでください(これが書き直し対象です)。
// 現在の設計(継承版)——これを書き直す
class Order {
total: number;
constructor(total: number) {
this.total = total;
}
checkout(): string {
return "支払い方法が未定です";
}
}
class CreditCardOrder extends Order {
checkout(): string {
return "クレジットカードで" + this.total + "円を決済しました";
}
}
class BankTransferOrder extends Order {
checkout(): string {
return "銀行振込で" + this.total + "円を受け付けました";
}
}
コード演習はブラウザ上でそのまま実行できます
本文の残り、エディタ・テスト実行・解答コード・ヒントはプラン加入後に利用できます。