Java для начинающих: Полиморфизм в ООП

Полиморфизм – важная концепция объектно-ориентированного программирования (ООП). Он позволяет одному методу выполнять разные действия в зависимости от объекта, к которому он применяется. Представьте, что у вас есть 20 роботов, каждый из которых выполняет свою задачу: один моет полы, другой убирает квартиру и так далее. Если у всех роботов есть метод Work, то при вызове этого метода каждый робот будет выполнять свою специфическую функцию. Именно это и есть полиморфизм.

Создание классов для демонстрации полиморфизма

Создадим класс Shape и три класса-наследника: Circle, Square и Triangle.

Класс Shape будет содержать метод draw(), который ничего не возвращает и изначально пуст:

public class Shape {
    public void draw() {
    }
}

Создадим классы-наследники, переопределив в каждом из них метод draw():

Класс Circle:

public class Circle extends Shape {
    @Override
    public void draw() {
        System.out.println("Круг");
    }
}

Класс Square:

public class Square extends Shape {
    @Override
    public void draw() {
        System.out.println("Квадрат");
    }
}

Класс Triangle:

public class Triangle extends Shape {
    @Override
    public void draw() {
        System.out.println("Треугольник");
    }
}

Использование полиморфизма в main-методе

В основном классе создадим массив объектов Shape, содержащий экземпляры Circle, Square и Triangle:

public class Main {
    public static void main(String[] args) {
        Shape[] shapes = {new Circle(), new Square(), new Triangle()};

        for (int i = 0; i < shapes.length; i++) {
            shapes[i].draw();
            System.out.println();
        }
    }
}

В цикле for вызываем метод draw() для каждого элемента массива. Благодаря полиморфизму, метод draw() будет выполняться по-разному для каждого объекта, выводя на консоль соответствующую фигуру: «Круг», «Квадрат», «Треугольник».

Важность полиморфизма

Полиморфизм – мощный инструмент, упрощающий разработку больших и сложных приложений, игр и других проектов. Он позволяет работать с объектами разных классов через единый интерфейс, что повышает гибкость и поддерживаемость кода.

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

Что будем искать? Например,программа