Javanese Online

Переопределение методов. Полиморфизм

В первом уроке этой главы мы рассмотрели интерфейс Phone и его единственную реализацию Nokia3310. Но сила интерфейсов заключается в возможности иметь множество реализаций. Например:

public final class Nexus5 implements MobilePhone {

    public void dial(String number) {
        System.out.println("Звоним на " + number);
    }

    public int getChargePercentage() {
        return 15;
    }

}
Phone first = new Nokia3310("the best serial number");
Phone second = new Nexus5();

first.dial("+7 900 111 22 33");
second.dial("+7 900 999 88 77");

Оба класса реализуют интерфейс Phone и переопределяют методы dial и getChargePercentage по-разному. В этом заключается полиморфизм: программист может взаимодействовать с разными объектами одним и тем же путём, а объекты выполняют при этом разные действия.

Это позволяет разрабатывать гибкий код. Например, взаимодействовать с объектами, находящимися в памяти, в базе данных или в файле одним путём.

Комментарии к уроку

Сообщить об ошибке

Javanese.Online в GitHub

Чаты и каналы в Telegram

RSS-лента