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