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