クラスを継承するための具体的な手順について見ていきます。
- extends
- super()
extends
・前回作ったSponsoredPostクラスはクラスやshow()の部分はPostクラスと一緒なのでプロパティやメソットを引き継ぐとコードがかんたんに書くことが出来ます。
・そんなときはextends Post としてあげれば Post クラスに書かれたコードが、そのまま SponsoredPost クラスに引き継がれるという仕組みになっています。
・元のクラスを親クラス、引き継ぐほうのクラスを子クラス、そしてこのように引き継ぐことをクラスの継承と呼ぶので覚えておきましょう。
super()
・特殊なルールがあって、子クラスの constructor() で this キーワードを使うには constructor() の最初で super() としてあげる必要があります。
・すると親クラスの constructor() が呼ばれるので、今回は text を渡しているので、text としてあげればいいでしょう
・またshow()メソットも親クラスのshow()メソットを使えばいいので、この場合はsuperにつなげて書けば親クラスのメソットを呼ぶことができます。super.show();としてあげましょう。
・またSponsoredPostの中にlikeのメソットはありませんがPostクラスが継承されているのでそのまま実行されます。