Объектно-ориентированное программирование. Наследование

Содержание

Слайд 2

НАСЛЕДОВАНИЕ

НАСЛЕДОВАНИЕ – ЭТО СПОСОБНОСТЬ КЛАССОВ СОБИРАТЬСЯ В ВЕРТИКАЛЬНУЮ ИЕРАРХИЮ (ИЕРАРХИЮ НАСЛЕДОВАНИЯ)
САМЫЙ ВЕРХНИЙ

НАСЛЕДОВАНИЕ НАСЛЕДОВАНИЕ – ЭТО СПОСОБНОСТЬ КЛАССОВ СОБИРАТЬСЯ В ВЕРТИКАЛЬНУЮ ИЕРАРХИЮ (ИЕРАРХИЮ НАСЛЕДОВАНИЯ)
КЛАСС В ИЕРАРХИИ – САМЫЙ ОБЩИЙ.
САМЫЙ НИЖНИЙ КЛАСС В ИЕРАРХИИ – САМЫЙ КОНКРЕТНЫЙ.
КОГДА КАКОЙ-ТО КЛАСС Б ОБЪЯВЛЯЕТСЯ НАСЛЕДНИКОМ ДРУГОГО КЛАССА А – ТО Б СРАЗУ ПОЛУЧАЕТ ВСЕ СВОЙСТВА И МЕТОДЫ (ПЕРЕМЕННЫЕ И ФУНКЦИИ) ОТ А (Б НАСЛЕДУЕТ ОТ А ВСЕ ЕГО СОДЕРЖИМОЕ)

Слайд 3

НАСЛЕДОВАНИЕ СХЕМАТИЧНО

class ClassOne

class ClassTwo extends ClassOne

ClassOne – супер-класс класса ClassTwo

ClassTwo – подкласс

НАСЛЕДОВАНИЕ СХЕМАТИЧНО class ClassOne class ClassTwo extends ClassOne ClassOne – супер-класс класса
класса ClassOne

ClassOne – класс-папашка класса ClassTwo

ClassTwo – класс-сыночек класса ClassOne

Слайд 4

НАСЛЕДОВАНИЕ В КОДЕ

Создадим два класса. ClassOne – папашка, ClassTwo – сыночек.

НАСЛЕДОВАНИЕ В КОДЕ Создадим два класса. ClassOne – папашка, ClassTwo – сыночек.

Слайд 5

НАСЛЕДОВАНИЕ В КОДЕ

Создадим по одному объекту каждого из классов и посмотрим, что

НАСЛЕДОВАНИЕ В КОДЕ Создадим по одному объекту каждого из классов и посмотрим, что получится.
получится.

Слайд 6

НАСЛЕДОВАНИЕ В КОДЕ

Obj1: ClassOne

Obj2: ClassTwo

НАСЛЕДОВАНИЕ В КОДЕ Obj1: ClassOne Obj2: ClassTwo

Слайд 7

Картинка №1

Картинка №2

Картинка №1 Картинка №2

Слайд 8

КАРТИНКА №1 – У ОДНОГО ПАПАШКИ НЕСКОЛЬКО СЫНОЧКОВ. ЭТО НОРМАЛЬНАЯ СИТУАЦИЯ, ОНА

КАРТИНКА №1 – У ОДНОГО ПАПАШКИ НЕСКОЛЬКО СЫНОЧКОВ. ЭТО НОРМАЛЬНАЯ СИТУАЦИЯ, ОНА
ВОЗМОЖНА НА НАХЕ И ДРУГИХ ЯЗЫКАХ ВЫСОКО УРОВНЯ. КЛАССЫ СЫНОЧКИ В ТАКОЙ СИТУАЦИИ НИКАК НЕ ПЕРЕСЕКАЮТСЯ. ОНА ДАЖЕ НЕ ЗНАЮТ О СУЩЕСТВОВАНИИ ДРУГ ДРУГА.
КАРТИНКА №2 – У ОДНОГО СЫНОЧКА НЕСКОЛЬКО ПАПАШЕК. ЭТА СИТУАЦИЯ НОСИТ НАЗВАНИЕ МНОЖЕСТВЕННОЕ НАСЛЕДОВАНИЕ. ТАКОЕ ВОЗМОЖНО НА С++, НО НЕВОЗМОЖНО НА JAVA И НАХЕ. ДЛЯ МНОЖЕСТВЕННОГО НАСЛЕДОВАНИЯ НА JAVA И НАХЕ ИСПОЛЬЗУЮТ ИНТЕРФЕЙСЫ.

Слайд 9

РЕАЛИЗАЦИЯ КАРТИНКИ №1.

СОЗДАДИМ CLASSTHREE, КОТОРЫЙ ТОЖЕ БУДЕТ НАСЛЕДНИКОМ CLASSONE, НО СО СВОИМ

РЕАЛИЗАЦИЯ КАРТИНКИ №1. СОЗДАДИМ CLASSTHREE, КОТОРЫЙ ТОЖЕ БУДЕТ НАСЛЕДНИКОМ CLASSONE, НО СО СВОИМ СОБСТВЕННЫМ РАСШИРЕНИЕМ.
СОБСТВЕННЫМ РАСШИРЕНИЕМ.

Слайд 10

РЕАЛИЗАЦИЯ КАРТИНКИ №1.

СОЗДАДИМ ОБЪЕКТ КЛАССА CLASSTHREE И ПОСМОТРИМ РЕЗУЛЬТАТ

РЕАЛИЗАЦИЯ КАРТИНКИ №1. СОЗДАДИМ ОБЪЕКТ КЛАССА CLASSTHREE И ПОСМОТРИМ РЕЗУЛЬТАТ

Слайд 11

РЕАЛИЗАЦИЯ КАРТИНКИ №1.

РЕАЛИЗАЦИЯ КАРТИНКИ №1.

Слайд 12

ПРО МЕТОДЫ.

КАЖДЫЙ КЛАСС МОЖЕТ ИМЕТЬ СВОЙ НАБОР МЕТОДОВ (ФУНКЦИЙ).
КЛАСС-СЫНОЧЕК НАСЛЕДУЕТ ВСЕ

ПРО МЕТОДЫ. КАЖДЫЙ КЛАСС МОЖЕТ ИМЕТЬ СВОЙ НАБОР МЕТОДОВ (ФУНКЦИЙ). КЛАСС-СЫНОЧЕК НАСЛЕДУЕТ
МЕТОДЫ КЛАССА-ПАПАШКИ И МОЖЕТ ИХ СВОБОДНО ИСПОЛЬЗОВАТЬ.

Слайд 15

ПЕРЕГРУЗКА МЕТОДОВ

КЛАСС-СЫНОЧЕК МОЖЕТ ПЕРЕГРУЖАТЬ МЕТОДЫ КЛАССА-ПАПАШКИ (ПЕРЕОПРЕДЕЛЯТЬ ИХ), ЗАМЕНЯЯ ПОВЕДЕНИЕ ПАПАШКИ НА

ПЕРЕГРУЗКА МЕТОДОВ КЛАСС-СЫНОЧЕК МОЖЕТ ПЕРЕГРУЖАТЬ МЕТОДЫ КЛАССА-ПАПАШКИ (ПЕРЕОПРЕДЕЛЯТЬ ИХ), ЗАМЕНЯЯ ПОВЕДЕНИЕ ПАПАШКИ
СВОЕ СОБСТВЕННОЕ.
КЛАСС-СЫНОЧЕК ПОМИМО ПЕРЕГРУЗКИ МОЖЕТ СОДЕРЖАТЬ СВОИ СОБСТВЕННЫЕ МЕТОДЫ, О КОТОРЫХ ПАПАШКА НЕ БУДЕТ ДАЖЕ ПОДОЗРЕВАТЬ. ИСПОЛЬЗОВАТЬ ЭТИ МЕТОДЫ ПАПАШКА ТОЖЕ НЕ СМОЖЕТ.

Слайд 18

ЕЩЕ ПРО ПЕРЕГРУЗКУ

ЗАГОЛОВКИ ДОЛЖНЫ СОВПАДАТЬ! Т.Е. ЕСЛИ У ВАС В ПАПАШКЕ ЕСТЬ
PUBLIC

ЕЩЕ ПРО ПЕРЕГРУЗКУ ЗАГОЛОВКИ ДОЛЖНЫ СОВПАДАТЬ! Т.Е. ЕСЛИ У ВАС В ПАПАШКЕ
FUNCTION F()
И В СЫНОЧКЕ ХОТИТЕ ПЕРЕГРУЗИТЬ ЭТОТ МЕТОД, ЗАГОЛОВОК ДОЛЖЕН ВЫГЛЯДЕТЬ ВОТ ТАК
OVERRIDE PUBLIC FUNCTION F()
ЕСЛИ БУДЕТ
OVERRIDE PUBLIC FUNCTION F( *КАКИЕ-ТО АРГУМЕНТЫ* )
Я НЕ ЗНАЮ, ЧТО ПРОИЗОЙДЕТ, НО ЭТО СТОПУДОВА БУДЕТ НЕ ПЕРЕГРУЗКА!
Имя файла: Объектно-ориентированное-программирование.-Наследование.pptx
Количество просмотров: 36
Количество скачиваний: 0