Давайте объясним на примере из кинематографической вселенной 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.
Спасибо за чтение.