-1

の配列がTiles[w,h]あり、誤って (明らかなエラーがないので、これで問題ないと思います) 子オブジェクトLibraryTileをそのセルの 1 つに割り当てることができました。インテリセンス ホバー ポップアップで LibraryTile として表示されます。

メモリ消費量の増加などの望ましくない影響がないかどうかはわかりません (これはメンバーごとのコピーであり、参照ではありません)。は。

4

1 に答える 1

2

LibraryTile は Tile のサブクラスだと思いますか? 親子としてタグ付けした理由は何ですか?

あなたが見ているのは単なるポリモーフィズムです。タイルのように「動作」しますが、まったく同じです。より多くのメモリを消費するかどうかは、LibraryTile が基本クラスに何を追加するかによって異なります。Tile が実際の LibraryTile であるかどうかを実行時にテストできます。そうであれば、LIBraryTile にキャストして「特別なこと」を行うことができます。しかし、これ以上の文脈がなければ、ポリモーフィズム (仮想メソッド、インターフェースなど) を利用するテクニックについてアドバイスすることはできません。

なんらかの理由で継承を許可したくない場合は、親クラスを封印できます。

http://msdn.microsoft.com/en-us/library/88c54tsw%28v=vs.71%29.aspx

于 2012-11-08T20:27:14.247 に答える