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

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

Комментарии
{"type":"lessonComments","id":"4b2cb795-a942-4b46-8fda-b511dd855c2e","comments":[{"id":"80488f12-5fc2-4c33-932f-52af883b6ed9","authorSrc":"GitHub","authorId":"Giocatory","text":"А почему так мало заданий на проверку прочитанного материала)))","added":1599027027993,"answers":[]}]}

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

Javanese.Online в GitHub

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

RSS-лента