私の知る限り、ベスト プラクティスを使用してゲームを作成しようとしています。私は持っている:
- 機能
VisibleObject
を持つprotected void draw(Canvas c)
MapTile
それextends VisibleObject
自体を描画すること。Map
MapTiles の LinkedList を含むクラスtiles
。
クラスでは、Map
次のようなループが必要でした:
public void draw(Canvas c){
for(MapTile tile : tiles){
tile.draw(c);
}
}
しかし、各タイルで draw を呼び出すことができないことに気付きましたVisibleObject
。私は3つの可能な解決策を考えることができます:
- in に変更
protected
するだけです。public
VisibleObject
- 呼び出すだけのMapTileのパブリックメソッドを作成します
super.draw(c)
(これは有効な構文だと思いますか?) - Map の for ループをこのようなものに変更すると、有効になると思います。
新しいループ:
MapTile current;
for(MapTile tile : tiles){
current = tile;
current.draw(c);
}
どのソリューションがより良いプログラミング実践になるでしょうか?