From: Takaaki Tateishi Date: 2002-08-04T01:32:45+09:00 Subject: [ruby-dev:17909] Re: [ruby-list:35696] Re: サブクラスのオブジェクト生成時に、スーパークラスの初期化を行うには ? At Sat, 3 Aug 2002 23:32:39 +0900, > |allocateで生成されたウィンドウを,initializeにおいて > |サイズ/位置を変更する方がよさそうに思えるのですがどう > |でしょうか? > > どうして? > allocateでの生成は位置もサイズも不明なので無駄になってしまう > わけですよね。 Window自体はallocateで生成されてinitializeではサイズ/位置の変更を行う ので,生成されたWindowは無駄にはならないですよね? closedの状態のWindowオブジェクトを返すのか,デフォルトサイズ/位置で newwin()されたWindowオブジェクトを返すのとどちらがいいのだろうと思った のです.返答から推測すると,closedの状態のものを返すことが適切なような ので,そうしようとは思います. 似たような問題ですが,GUIなどでもウィジットを生成(C++のツールキットだと new)するのはやはりinitializeの中が良いのでしょうか? この疑問がでているのは,単に僕がallocate導入の目的をきちんと理解してい ないためだと思います. あるクラスでallocateを実装しないのはどのような場合で,実装する場合には どのようなことをallocateとinitializeで行ない,どのようなオブジェクトを allocateで返すべきかをきちんと理解していないので簡単に教えてもらえない でしょうか? -- Takaaki Tateishi