Добавил:
Rumpelstilzchen2018@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3-й семестр / Лекции / 4 - Презентация - Полиморфизм

.pdf
Скачиваний:
62
Добавлен:
25.12.2020
Размер:
19.24 Mб
Скачать

Центрдистанционногообучения

Лекция 4 Программирование на Java

ФИО преподавателя: Зорина Наталья Валентиновна e-mail: zorina@mirea.ru,zorina_n@mail.ru

Online-edu.mirea.ru

online.mirea.ru

Центрдистанционногообучения

Тема лекции:

«Полиморфизм в Java»

online.mirea.ru

Центрдистанционногообучения

Содержание

Полиморфизм и интерфейсные ссылки

Использование полиморфизма при программировании

Работа со строками

Работа с графикой

online.mirea.ru

Центрдистанционногообучения

Реализация полиморфизма в Java

Полиморфизм является одним из принципов объектноориентированного программирования, и позволяет нам создавать универсальные конструкции программного обеспечения:

использование наследования для создания полиморфных ссылки

использование интерфейсов для создания полиморфных ссылок

использование полиморфизма для реализации универсальных алгоритмов, например сортировки и поиска

9-4

online.mirea.ru

Центрдистанционногообучения

Связывание

• Рассмотрим строчки кода:

Example obj = new Example();

obj.doIt();

В тот самый момент, когда происходит вызов метода, то происходит его связывание с определением метода в классе

Если это связывание происходит во время компиляции, то во время

вызова метода всегда будет работать именно эта строка, всегда, когда происходит вызов

Тем не менее, Java позволяет выполнить отсрочку связываниявыполнить связывание только во время выполнения - это называется динамическое связывание или позднее связывания

Позднее связывание обеспечивает гибкость в разработке и осуществлении программ

9-5

online.mirea.ru

Центрдистанционногообучения

Полиморфизм

Термин полиморфизм в буквальном смысле переводится как "имеющий много форм".

Разновидности проявления полиморфизма:

Полиморфная ссылка является переменной, которая может относиться к различным типам объектов в разные моменты времени

Метод вызываемый с помощью полиморфной ссылки может изменяться от одного вызова к другому

Запомните! Все ссылки на объекты в Java являются потенциально полиморфными

9-6

online.mirea.ru

Центрдистанционногообучения

Интерфейсы

Библиотека стандартных классов Java содержит много полезных интерфейсов

Интерфейс Comparable одержит один абстрактный метод, называемый compareTo, которая используется для сравнивать два объекта

Мыобсудимего

compareTo при обсуждении класса

String

 

Класс String реализует Comparable, то дает нам возможность поставить строки в лексикографическом порядке

online.mirea7.ru

Центрдистанционногообучения

Интерфейс Comparable

Любой класс может реализовать Comparable чтобы обеспечить механизм для сравнения объектов этого типа

if (obj1.compareTo(obj2) < 0)

System.out.println ("obj1 is less than obj2");

Значение,возвращаемое

compareTo должнобыотрицательнымесли

obj1

 

obj1 меньшечем

obj2, 0еслиониравны

, иположительно,если

 

большечем

obj2

 

 

 

Когдапрогроеаммитируетклас, оторыйреализуетс

 

интерфейс

 

Comparable,тодолженследэтоамеренияватьу

 

 

online.mirea8.ru

Центрдистанционногообучения

Интерфейс Iterator

Итератор создается формально, реализовав интерфейс Iterator, который содержит три метода

Метод hasNext возвращает логический результат -

истинно, если есть элементы которые остались для обработки

Метод next метод возвращает следующий объект в итерации

Метод remove удаляет объект, который совсем недавно, возвратил next

online.mirea9.ru

Центрдистанционногообучения

Интерфейс Iterator

Реализуя интерфейс Iterator, a класс формально устанавливает, что объекты этого типа являются итераторы

Программист должен решить, как наилучшим образом реализовать функции итератора

После того, как появилась для версия for-each для цикла можно использовать для обработки элементов с помощью итераторов

online.mirea10.ru

Соседние файлы в папке Лекции