Давайте объясним на примере из кинематографической вселенной Marvel. Если вы поклонник чуда, вы наверняка встречали Мстителей и их лидера Тони Старка, известного как Железный Человек. В последнем фильме «Мстители» Тони Старк погиб, защищая землю от безумного титана Таноса. Кто после его смерти получит доступ ко всему его богатству и мощным боевым костюмам? Его дочь Морган, верно?

Морган, следующий Железный Человек, унаследует все ресурсы Тони, включая боевые костюмы.

Наследование - это то, что передается по наследству.

В объектно-ориентированном программировании наследование можно определить как процесс, в котором один класс (подкласс) получает свойства (методы и поля) класса (суперкласса), от которого он наследуется.

См. Коды ниже.

Если вы посмотрите на приведенный выше фрагмент кода, вы увидите, что есть два класса TonyStrak в пакете с именем marvel.phase3 и MorganStark в пакете с именем marvel.phase4.

В классе TonyStark костюмы Тони инициализируются с помощью общедоступного конструктора. Класс MorganStark наследует TonyStark с ключевым словом extends в строке 7. После этого MorganStark получил доступ ко всем костюмам из класса TonyStark, вызвав защищенные методы getRegularSuits и getSpecialSuits.

Это называется наследованием.

Итак, здесь Тони Старк - это суперкласс, а Морган Старк - подкласс. Когда вы запустите класс MorganStark, эта строка будет напечатана на экране вывода.

Унаследованные от Моргана Старка костюмы: [Mark 1, Mark 2, Hulk Buster, Thor Buster]

Теперь давайте добавим еще один класс в marvel.phase4.

В конце «Мстителей» Тони оставил Питеру нечто особенное.

ЭДИТ !, система безопасности, защиты и искусственного тактического интеллекта с дополненной реальностью.

Класс PeterParker наследует класс TonyStark таким же образом, используя ключевое слово extends. Итак, PeterParker получает доступ к EDITH с помощью защищенного метода getGiftForSpiderMan.

Питеру пришлось поместить код безопасности в метод super () в качестве параметра в строке 7. Из-за этого был вызван параметризованный конструктор TonyStark. Ключевое слово super используется для доступа к конструктору суперкласса.

Когда вы запустите класс PeterParker, эти строки будут напечатаны на экране вывода.

Привет, Питер

Питер Паркер унаследовал: ЭДИТ

Теперь попробуйте добавить что-нибудь другое в качестве кода безопасности в супер-метод в классе PeterParker. Например, попробуйте поставить «Квентин Бек» и расскажите мне, что происходит.

Получить полный код по ссылке this.

Поставьте звезду, если вам нравятся мои проекты на GitHub.

Спасибо за чтение.