テンプレートメソッドパターン


階層構造をトップダウン的に見る典型的な技法をテンプレートメソッドパターンと呼びます。

abstract class Animal {
protected abtstract void call(); //オーバーライドすべき処理
void greet() {
//共通処理
call(); // 継承クラス固有の処理を呼び出す
// 共通処理
}
}
class Dog extends Animal {
@Override
protected void call() {
System.out.println("Waoon!"); // 継承クラスに固有の処理
}
}
class Cat extends Animal {
@Override
protected void call() {
System.out.println("Nyaoon!"); // 継承クラスに固有の処理
}
}

Animalに骨格となる実装を行い、DogCatに固有の処理を実装します。
メソッドの呼び出しのコードを変えることなく、固有処理の実装を切り替えることができます。

🎉 テンプレートメソッドパターンのポイント

抽象基底クラスに変わらない部分を書き、継承クラスに変わりやすい実装を書くことで、
大規模プログラムの実装をサポートします。

😼 参考リンク

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)