Наследование и полиморфизм

Содержание

Слайд 2

Полиморфизм

Полиморфизм (polymorphism)
имеется несколько реализаций алгоритма
выбор реализации осуществляется в зависимости от типа

Полиморфизм Полиморфизм (polymorphism) имеется несколько реализаций алгоритма выбор реализации осуществляется в зависимости
объекта и типа параметров

[греч. poly — много и morphe — вид, форма, образ]
Механизмы реализации:
Перегрузка (overload) метода
Переопределение (override) метода

Слайд 3

Перегрузка

Методы выполняют схожую функцию над разными типами данных.

Перегрузка Методы выполняют схожую функцию над разными типами данных.

Слайд 4

Переопределение

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

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

Слайд 5

Абстрактный класс

определяет общее поведение для порожденных им классов
предполагает наличие дочерних классов
объявляется со

Абстрактный класс определяет общее поведение для порожденных им классов предполагает наличие дочерних
спецификатором abstract
не может иметь объектов
может содержать или не содержать абстрактные методы
Класс должен быть объявлен как абстрактный если:
класс содержит абстрактные методы
класс наследуется от абстрактного класса, но не реализует абстрактные методы
класс имплементирует интерфейс, но не реализует все методы интерфейса

Слайд 6

Абстрактный метод

не имеет реализации
объявляется со спецификатором abstract
переопределяется в дочерних классах

Абстрактный метод не имеет реализации объявляется со спецификатором abstract переопределяется в дочерних классах

Слайд 7

Пример

Пример

Слайд 8

Связывание

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

РАННЕЕ
выполняемое на этапе компиляции 

ПОЗДНЕЕ
выполняемое во время

Связывание процесс определения, какой именно метод надо вызывать РАННЕЕ выполняемое на этапе
исполнения

Компилятор разбирается с ПЕРЕГРУЗКОЙ.

Позднее связывание служит для того, чтобы разобраться с ПЕРЕОПРЕДЕЛЕНИМ

Слайд 9

Пример 1

 Вызов статического метода. Это метод класса, а не экземпляра, переопределить его

Пример 1 Вызов статического метода. Это метод класса, а не экземпляра, переопределить его НЕЛЬЗЯ!
НЕЛЬЗЯ!

Слайд 10

Пример 1

Результат:

Пример 1 Результат:

Слайд 11

Пример 2

 Два типа связывания

Пример 2 Два типа связывания
Имя файла: Наследование-и-полиморфизм.pptx
Количество просмотров: 48
Количество скачиваний: 0