多態と static
実践JavaScript / 全 5 枚
実践JavaScript - 多態と static
同じ名前のメソッドを種類ごとに用意する
作品の種類で表示を変えたいとき、呼ぶ側で if を書くと、種類が増えるたびにその if を直すことになります。かわりに同じ名前のメソッドを種類ごとに用意しておくと、呼ぶ側は名前を書くだけで済みます。
種類を1つ増やすときに触るのは、新しい class を足すことだけです。呼び出し側のループは書いたまま動きます。
ループの中に種類を見る分岐はありません。どちらが動くかは w 自身が知っています。
class Work {
badge() {
return "作品";
}
}
class FeaturedWork extends Work {
badge() {
return "注目作品";
}
}
for (const w of [new Work(), new FeaturedWork()]) {
console.log(w.badge());
}
// 作品
// 注目作品1 / 5
← → キーでも送れます