K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>>暑中お見舞い申し上げます。 > >こんにちは。 > >>『Java謎+落とし穴』で、二つ質問があります。 >>見方によっては、各オブジェクトが、間接的にではありますが、それぞれ実行コードへのポインタを持つように思えるのですが、いかがでしょう。 > >「間接的に」実行コードへのポインタを持つのはその通りですね。 >ここは、メソッドが10個あった時、各オブジェクトが10のポインタを持つ必要はないですし、 >オブジェクトごとに実行コードへのポインタが書き換わることはない、という意味で >書きました。 >(プロトタイプベースのオブジェクト指向だと、実際オブジェクトごとに持っていたり >しますし) > >>・177ページ「draw()メソッドを呼び出す部分はPolylineやCircleにまったく依存しません(その構造体を宣言しているヘッダファイルを#includeする必要がない)」について。 >>このdraw()メソッドは、183ページのdrawShape(shapes[i])メソッドと同じでしょうか。ここではmain.cに、各ヘッダファイルをincludeしているように見えます。 > >ここはわかりにくかったですね。 >createPolyline()等は各図形の.hで宣言されているわけで、 >各図形をnewするところでは各ヘッダファイルが必要です。 >ただ、描画するところ(「draw()メソッドを呼び出す部分」)は、 >Polyline.hやCircle.hにまったく依存しません。 >(これはJavaにおいても同じことで、newするところは各クラスに依存します)。 > >この例では、main.cでnewと描画を両方やってしまっているので、 >おっしゃるとおり、「main.cでincludeしているではないか」と疑問を持たれるのは >わかります。 >main.cの描画部分(17~20行目)を、draw.cとか、別ソースに分けておくべきだったかも >しれません。 >10年以上前の本ですが、ご指摘感謝いたします。 >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!