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


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

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に固有の処理を実装します。
メソッドの呼び出しのコードを変えることなく、固有処理の実装を切り替えることができます。

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

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

😎 参考リンク

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍