例如,我有一个名为animals的类。我认为我不需要将其分类为鸟类,哺乳动物等,因为我只想要一个包含所有动物的方法和ui的类,例如显示动物出生,显示动物生长,显示动物被屠宰,显示动物被吃掉(旁边:是的,这只是一个例子,但你得到的图片)。但是,我只想加载所有的鸟类并动作然后返回主菜单,然后导航到哺乳动物并展示它们,依此类推。在我的真实应用程序中,每个“动物”只有3x int信息。没有视频,但它会有连续的音频和动画。
由于我每次只使用1/6的动物数据,即10-15只动物,整个应用程序可能有60-100只动物,我最好做什么?
答案 0 :(得分:0)
评论变成了答案
我会创建一个名为Animal
的接口,其中包含所有功能。
public interface Animal {
public void drawEating();
public void drawDeath();
}
然后创建实现此接口的类:
public class Bird implements Animal {
public void drawEating() {
// TODO: fill in
}
public void drawDeath() {
// TODO: fill in
}
}
要将您想要绘制的Animal
传递给新的活动,您可以将其传递到类似here所述的包中,或者在名为registerAnimal
的新活动中创建一个功能并调用从你的第一次活动开始。
public class AnimalActivity extends Activity {
Animal animal = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public void registerAnimal(Animal a) {
animal = a;
}
public void someDrawFunction() {
if (animal != null)
animal.drawEating();
}
}
使用此方案,您只有一项所有动物的活动,从而节省了大量的重复代码。
答案 1 :(得分:0)
如果您想使用动物类的一些基本字段,即名称,颜色等,您应该创建一个抽象类动物而不是界面。