【Java初心者向け】オブジェクト指向を意識した九九表の実装
【Java初心者向け】for文とwhile文で九九表を作る方法の続きです。
お風呂に入っているときに、別の書き方を思いついたのでメモしておきます。
今回は、少しオブジェクト指向を意識した実装 になっています。
とはいえ、まだ オブジェクト指向を完全に理解しているわけではない ので、正しいかどうかは自信がありません…。
でも、クラスを new してインスタンス化したり、プロパティを使ったり しているので、なんとなくオブジェクト指向っぽいはず!
|
|
修正・改善したポイント
変数・メソッド名の修正
- kuku_list → kukuList(Java の命名規則に合わせてキャメルケースに修正)
- mulit → generateKuku(「作成」っぽい意味がわかるように)
バグの修正
- mulit(int i) の 引数 i は不要 だったので削除
- ¥n は \n に修正(Java では ¥ の表記は不要)
- コードの読みやすさを向上
- 九九表の数値が 見やすいようにスペースを調整
- main() の処理を明確にするため、メソッドを整理
でも、main() で new してるのが気持ち悪い……?
コードを書いていて、main() の中で自分のクラスをインスタンス化しているのが気持ち悪い と感じました。
確かに main() メソッドは 静的メソッド (static) なので、本来インスタンスを作るのではなく、クラスメソッドで完結させるのがスッキリしそうです。
|
|
このようにすると、インスタンス化 (new) しなくても実行可能 になり、 main() で new For3() する必要がなくなります。
どちらの書き方が正しいかは目的次第 ですが、
- オブジェクト指向っぽく書く → インスタンスを作成 (new) して this を使う
- シンプルに書く → クラスメソッド (static) を使う
という使い分けができます。
まとめ
- 九九表をオブジェクト指向っぽく書いてみた
- 命名を修正して可読性を向上
- main() でインスタンス化するのが気持ち悪い場合は static にする方法もアリ
- オブジェクト指向を学ぶには、「何をインスタンスにするか?」を考えるのが大事
「オブジェクト指向っぽく書いたけど、これで合ってるのか?」という悩みは、Java を学び始めたばかりの人なら誰でも通る道です!
今回のコードも 厳密にはオブジェクト指向とは言い難い部分もありますが、「試しにやってみる」ことが大事 なので、どんどんコードを書いて理解を深めていきたいですね。
おすすめ記事
【Java初心者向け】for文とwhile文で九九表を作る方法
【Java初心者向け】基礎から学ぶキャスト(型変換)の重要ポイント