LeoAndo / java-training

0 stars 0 forks source link

Template Method #79

Open LeoAndo opened 2 years ago

LeoAndo commented 2 years ago

テンプレートとなるメソッドをスーパークラスで定義し処理の枠組みを定め、 サブクラスでその具体的内容を定めるようなデザインパターンをTemplate Methodパターンという。

LeoAndo commented 2 years ago

サブクラスをスーパークラスと同一視する

スーパークラス型の変数があり、その変数にサブクラスのインスタンスが代入されているとする。 そのとき、instanceofなどでサブクラスの種類を特定せずにプログラムが動く設計は良い!

LeoAndo commented 2 years ago

java.io.InputStream

InputStreamはTemplate Methodパターンで実装されている。 https://docs.oracle.com/javase/jp/11/docs/api/java.base/java/io/InputStream.html#read()