- 454 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 22:54:52.02 ]
- >>443
>>443 がんばってみたんですが、糸口がみえてきません。もしよろしければアドバイスをいただけないでしょうか。 >new myInteger(3).fizz() が "Fizz" を返せる @ これは、「メソッド fizz() が副作用として "Fizz" を出力する」ということですか? この場合、fizz(), buzz(), gizz() を通過してきて 3 でも 5 でも 7 でもわりきれなかった場合に元の数字を出力する、ということが不可能だと思います。 >>303 では妥協して endl() というメソッドを準備してこの処理を行うしかありませんでした。 A それとも「メソッド fizz() の返り値が String("fizz") であるべき」ということですか? String にメソッド fizz() を追加したいのであれば、 String から新しいクラスmyString を継承して、そこにメソッドを定義するということだろうと思いますが、 (new myString(3).fizz() が myString("Fizz") を返す) A-1 java.lang.String は final。 A-2 メソッド fizz() が "Fizz" を返してしまうと、もとの String("3") を忘れてしまい、buzz(), gizz() が処理できない。多値を返したいのですが >>304 で精一杯。 >>304 の toString()#Object をオーバーライドする、ってこういうときには普通にすることだと思っていたんですが、何かまずい問題でもあるのでしょうか?
|

|