Java - массив различных объектов, имеющих одинаковые методы
Я практикую наследование.
У меня есть два похожих класса, которые яЯ хотел бы ассимилироваться в один массив, поэтому я решил использовать класс Object в качестве суперкласса, поскольку все является подклассом Object.
Так, например, я поместил класс T и класс CT в массив, называемый all следующим образом:
Object all[] = new Object[6];
all[0] = T1;
all[1] = CT2;
all[2] =T3;
all[3] = CT1;
all[4] = T2;
all[5] = CT3;
Я пропустил декларации, так как это не моя проблема.
Моя настоящая проблема возникает, когда я хочу вызвать функцию в массиве, используя цикл:
for (int i = 0; i < 6; i++) {
all[i].beingShot(randomNum, randomNum, AK47.getAccuracy());
}
Классы, связанные с T и CT, соответственно, оба имеют метод BeingShot, который является открытым.
Затмение советует разыграть их как быстрое решение. Я'Мне интересно, есть ли какая-либо логическая альтернатива, кроме создания моего собственного класса Object, содержащего метод BeingShot, или добавления его в класс Object, хотя я чувствую, что любой из этих вариантов вызовет больше проблем в долгосрочной перспективе.
Спасибо!