Methodについて解説したものです。Methodパターン以外の解説記事はこちらからどうぞ。Methodパターンとは、メソッドをテンプレートとして用意しておくものです。テンプレートは処理の枠組みです。スーパークラスのメソッドで処理の大枠だけを決めておいて、具体的な内容はサブクラスで決めます。日常生活でもテンプレって言葉を使うときがあると思います。メールだと、事前に用意された定型文の組み合わせであるテンプレを自分の都合に合わせてカスタマイズしますよね?それと同じことをプログラムでもやります。飲み物を自動で作ってくれる機械を例にとってプログラムを作ってみました。DrinkMaker.java粉を入れる→液体を入れる→提供するという処理の流れ=テンプレートを定義するクラスです。ここで、putPowderとputLiquidは抽象メソッドなので、細かい処理内容はサブクラスによって変わります。System.out.println("完成です。}}CoffeeMaker.javaコーヒーを作るサブクラスです。スーパークラスの抽象メソッドを全て実装しています。System.out.println("インスタントコーヒーを入れます。System.out.println("お湯を注ぎます。}}MilkteaMaker.javaミルクティーを作るサブクラスです。スーパークラスの抽象メソッドを全て実装しています。System.out.println("インスタント紅茶を入れます。}}Main.java作成したプログラムの動作を確かめるプログラムです。Methodパターンでは、スーパークラスで処理の大枠、つまりアルゴリズムを決めているので、サブクラスでは細かな実装をするだけで済みます。これは、同じようなアルゴリズムを持つクラスを複数作成する時に役立つのが分かると思います。アルゴリズム自体にバグや変更が発生した時もスーパークラスのみを見ればいいので、修正が楽です。テンプレートを詳細に作りすぎると、サブクラスでの拡張性が低くなってしまいます。何が共通化できるかをよく見極める必要があります。入門とだけあって、非常に分かりやすいです。Javaの基本的な知識があれば割とすらすら読み進められるのでおすすめです。Code】BlackとFlake8を使ってきれいなPythonコードを書く!!スポンサーリンクプロフィール応用情報取得。3度の学会発表経験あり。使用言語は主にPythonとSwift。(1)月別アーカイブ検索このブログについてプライバシーポリシースポンサーリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。