オーバーロードの活用
010-004 - オーバーロードの活用
オーバーロードは、実用的なプログラムで広く使われている設計手法です。適切に設計されたオーバーロードは、プログラムを使いやすくし、コードの可読性を高めます。
実用的なオーバーロードの設計パターン:
- デフォルト値パターン: 引数省略時のデフォルト動作を提供
- 段階的詳細化: 簡易版から詳細版へ段階的にオプションを追加
- 組み合わせパターン: 個数と型の違いを組み合わせた柔軟な設計
良い設計の例(ゲームキャラクター作成):
public void createCharacter(String name) {
createCharacter(name, 1, "Warrior"); // デフォルト: レベル1、戦士
}
public void createCharacter(String name, int level) {
createCharacter(name, level, "Warrior"); // デフォルト: 戦士
}
public void createCharacter(String name, int level, String job) {
// 完全版の実装: 名前、レベル、職業を全て指定
System.out.println("キャラクター作成: " + name +
" (Lv." + level + ", " + job + ")");
}
このように設計すると、呼び出し側は必要な情報だけを指定でき、使いやすいプログラムとなります。
問題 (10)
メソッドオーバーロード:スコア集計
# <a href="https://javadrill.tech/problems/010">メソッドオーバーロード</a>:スコア集計 **この問題では**: `int`・`double`・`S...
メソッドオーバーロード:消費税計算
# <a href="https://javadrill.tech/problems/010">メソッドオーバーロード</a>:消費税計算 **この問題では**: `int`・`double`・`S...
オーバーロード活用:フォーマットユーティリティ
# オーバーロード活用:フォーマットユーティリティ **この問題では**: 整数・小数・文字列の各型に対応した複数の`format`<a href="https://javadrill.tech/p...
オーバーロード:printInfoの多目的利用
# オーバーロード:printInfoの多目的利用 **この問題では**: 入力タイプ(name / age / both)に応じて引数の異なる`printInfo`<a href="https:/...
メソッドオーバーロード:消費税計算
# <a href="https://javadrill.tech/problems/010">メソッドオーバーロード</a>:消費税計算 **この問題では**: `int`・`double`・`S...
メソッドオーバーロード:スコア集計
# <a href="https://javadrill.tech/problems/010">メソッドオーバーロード</a>:スコア集計 **この問題では**: int・double・String...
メソッドオーバーロード:戻り値型の違い
# <a href="https://javadrill.tech/problems/010">メソッドオーバーロード</a>:戻り値型の違い **学習目標**: オーバーロードにおける戻り値型の役...
オーバーロードで面積計算メソッドを実装
<h2><a href="https://javadrill.tech/problems/010">メソッドオーバーロード</a>: 同じ名前、異なるシグネチャ</h2><p><a href="htt...
オーバーロードの実用例
# オーバーロードの実用例 **この問題では**: 同名の`log`<a href="https://javadrill.tech/problems/008">メソッド</a>を2種類オーバーロード...
メソッドチェーンとオーバーロード
# メソッドチェーンとオーバーロード **この問題では**: `format` <a href="https://javadrill.tech/problems/008">メソッド</a>をオーバー...
