Как один класс может реализовать разные интерфейсы?
Появился такой вопрос. Необходимо создать класс Human в двух вариантах. Первый вариант реализует интерфейс Cavalry, а второй реализует интерфейс Infantry. Экземпляры будут создаваться как: Infantry warrior = new Human / Cavalry warrior = new Human. Единственное различие между этими классами заключается в следующем: Human с типом Cavalry будет содержать в себе вложенный класс Horse, а с типом Infantry соответственно не будет. Вопрос: как это правильно реализовать? Заранее спасибо за советы.
Ответы (1 шт):
Здесь Вам стоит обратиться к основам Java. Всё решается простым наследованием. При создании объекта "Human", даём ему дочерний класс "Cavalry" или "Infantry". К тому же это даёт Вам гибкость, например если вы захотите добавить ещё какой то класс, типо "artilleryСrew". Пример:
public class test {
public static void main(String[] args) {
Human human = new Cavalry();
Human human2 = new Infantry();
}
}
class Human {
}
class Infantry extends Human {
}
class Cavalry extends Human {
class Horse {
}
}