Sobes.tech
Назад к вопросам
Junior — Middle
81

Каким образом можно реализовать хранение элементов разных типов в одном массиве с использованием механизмов полиморфизма?

Ответ от нейросети

sobes.tech AI

В Java для хранения элементов разных типов в одном массиве с использованием полиморфизма обычно создают массив базового класса или интерфейса, от которого наследуются все нужные типы. Благодаря полиморфизму можно обращаться к элементам массива через общий тип, а конкретное поведение определяется реализацией подклассов.

Пример:

// Базовый класс
abstract class Animal {
    abstract void sound();
}

class Dog extends Animal {
    void sound() { System.out.println("Гав"); }
}

class Cat extends Animal {
    void sound() { System.out.println("Мяу"); }
}

public class Main {
    public static void main(String[] args) {
        Animal[] animals = new Animal[2];
        animals[0] = new Dog();
        animals[1] = new Cat();

        for (Animal animal : animals) {
            animal.sound(); // Вызов метода конкретного подкласса
        }
    }
}

Таким образом, массив типа Animal[] может хранить объекты разных подклассов, и при вызове методов будет использоваться соответствующая реализация.