抽象クラスは使え

なんだこのタイトルは?とお思いの方もいますが、私自身もなんでこのタイトルにしたのかわかりません。

この記事の読者想定:

抽象クラスは使え

はい。使ってください。

たったと書くだけで、抽象クラスを定義できます。
簡単でしょ?じゃあこれをどこで使うか。

クラスの形を一定にしたいときに使う

クラスの形を一定にしたいときに使います。
・・・なに?一定にする時がない?

ご冗談を。クラスを一定にしたいときはたくさんあります。たとえば:

何?これはクラスの継承で十分だろ?だって?
・・・を使いたくないんですよ(???)

こういう抽象クラスを作っておいて
こう使うんです:

(さらっとかきましたが、抽象クラスを実態のあるクラスにする際はをつかいます)

で、これはを実装していますよね?なのでこのクラスには絶対この関数がある!!!っていう保証があるんです!!!
素晴らしいことなんです。これは素晴らしいことなんです!!!!!!!

これはこう:

ちなみに

抽象クラスを変数の型として使うと、ができないので不便です
しかし・・・

こういう型を作ってあげることで、動的importの際にを型として設定してあげることでできるようになります。

こんなかんじにね:

ここの型なので、が必ず存在することが保証されます。
必ずある、というのがポイントです。

そして、**抽象クラスはクラス設計を一定の形にすることができます。**きれいなコードを書く時にもおすすめ。

まとめ

・・・なに?いまいち抽象クラスの良さが伝わらなかった?
なら使うんだ。使ってみるんだ。使うことで良さがわかるんだ。