【发布时间】:2016-02-14 21:30:33
【问题描述】:
我有以下设置:
public abstract class Entity {
public abstract void update();
}
public class Particle extends Entity {
// ...
}
public class Enemy extends Entity {
// ...
}
而且我需要知道每一帧的敌人数量:
if (numEnemies > 50)
doSomething();
那么,以下哪个设计更合适?
选项 1:
List<Entity> enemies;
List<Entity> players;
// ...
int numEnemies = enemies.size();
for (Entity i : enemies)
i.update();
for (Entity i : players)
i.update();
选项 2:
List<Entity> entities;
int numEnemies = 0;
// ...
if (needMoreEnemies()) {
++numEnemies; // Keep a count and decrease on removal
entities.add(new Enemy());
}
for (Entity i : entities)
i.update();
或者完全是别的什么?
【问题讨论】:
标签: java oop polymorphism