-1

我有一个数组Tiles[w,h]并且错误地我可以(没有任何明显的错误,所以我想这是可以的)将一个子对象分配给LibraryTile它的一个单元格。它在智能感知悬停弹出窗口中显示为 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 回答