プログラマの完全常識
出て速攻、中身も見ずに買ったんだけど、買った当初は著者が著者なだけに、斜め読みして放っておいた。
で、最近ぱらぱらと読んでたんだけど、なんと言うか、この人よく本なんて書けるよね。
例えば、多態性の説明で、こんなプログラムを書いている。
class Pa { void judge(Gu obj) { System.out.println("あなたの負けです!"); } void judge(Choki obj) { System.out.println("あなたの勝ちです!"); } void judge(Pa obj) { System.out.println("あいこです!"); } }プログラマの完全常識
オーバーロードも静的な多態ですよ、とか言うんなら分かるけど、オーバーライドの説明をしようとしてオーバーロードを例に出すのは全然だめだろう。
Paクラスを使う人は、「こりゃ多態だねぇ」と感じるでしょう。
プログラマの完全常識
とのことなので、使う側を書いてみた。
// 0:Pa, 1:Gu, 2:Choki switch (input) { case 0: { Pa own = new Pa(); switch (think) { case 0: { Pa enemy = new Pa(); own.judge(enemy); break; } case 1: { Gu enemy = new Gu(); own.judge(enemy); break; } case 2: { Choki enemy = new Choki(); own.judge(enemy); break; }} break; } case 1: { Gu own = new Gu(); switch (think) { case 0: { Pa enemy = new Pa(); own.judge(enemy); break; } case 1: { Gu enemy = new Gu(); own.judge(enemy); break; } case 2: { Choki enemy = new Choki(); own.judge(enemy); break; }} break; } case 2: { Choki own = new Choki(); switch (think) { case 0: { Pa enemy = new Pa(); own.judge(enemy); break; } case 1: { Gu enemy = new Gu(); own.judge(enemy); break; } case 2: { Choki enemy = new Choki(); own.judge(enemy); break; }} break; }}
・・・・・・こりゃ多態だねぇw
- 作者: 矢沢久雄
- 出版社/メーカー: 技術評論社
- 発売日: 2006/12/23
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 95回
- この商品を含むブログ (14件) を見る