2013-03-02 33 views
0

我正在用Java創建這個遊戲,我使用優先級隊列來通過它們的Y值渲染我的敵人。但我想排除敵方物體以外的其他類型物體。由於java中的所有對象都繼承自Object類,所以我認爲我只是將對象類型和類型轉換爲隊列中的敵人。所以我想知道是否有這樣做的重大缺點?Java Object objects lists pro&cons

+0

你的問題不清楚。你能提供更多的例子代碼和/或更詳細的描述你想要做什麼嗎? – 2013-03-02 22:51:52

+0

我有一個Java默認類:Object的優先級隊列,默認情況下所有類都繼承自它。然後我把2個不同的物體放在裏面。當使用我輸入的對象時 - 將其轉換爲訪問函數。能夠將2個不同的對象放入同一個優先級隊列是一個好的還是不好的解決方案? – Rasmus 2013-03-02 23:01:09

+0

這兩個不同的對象是如何相關的? – ddmps 2013-03-02 23:05:51

回答

1

創建自定義超類的隊列有幾個優點,而不是依賴所有類的通用祖父。其中一些包括:

  1. 您不必使用任何強制轉換來訪問隊列中的元素。

  2. 編譯器爲您找到錯誤。示例包括嘗試添加對隊列的引用,該隊列以後不能轉換爲您期望的類型。

你所問的想法都包含在任何好的Java文本中。我強烈建議你做一些閱讀和/或在線研究,以獲得關於這個主題的更多細節。

+0

事情是我想呈現對象取決於Y軸爲了使它看起來像對象是「後面」的對象。而且這些怪物比另一個物體大得多,所以我無法制造出一個只佔據位置的整體超類,因爲那樣我就需要改變對象的類型以獲得特定的方法。我正在考慮製作一個pq的Object,然後有一個方法返回持有對象引用的對象類型的另一個列表。 – Rasmus 2013-03-02 23:27:29

+1

@RasmusAppelkvist聽起來你有很多設計問題需要解決。也許你們每個班都做了太多事情。您可能想要尋找可以將您的課程拆分爲更易於管理的代碼段的方法。 – 2013-03-02 23:32:08