Уроки для начинающих Java / #11 Наследование в Java

Описание к видео Уроки для начинающих Java / #11 Наследование в Java

Наследование в Java имеет несколько отличий от языков C / C++
В этом уроке рассмотрим на примере

#java #урокиjava #javaMarshal

Подписывайтесь в телеграм: https://t.me/leshamarshal

Все уроки в плэйлисте:
   • Уроки Java для начинающих / #1 - Прог...  


Наследование является неотъемлемой частью Java. При использовании наследования вы говорите: Этот новый класс похож на тот старый класс. В коде это пишется как extends, после которого указываете имя базового класса. Тем самым вы получаете доступ ко всем полям и методам базового класса. Используя наследование, можно создать общий класс, которые определяет характеристики, общие для набора связанных элементов. Затем вы можете наследоваться от него и создать новый класс, который будет иметь свои уникальные характеристики. Главный наследуемый класс в Java называют суперклассом. Наследующий класс называют подклассом. Получается, что подкласс - это специализированная версия суперкласса, которая наследует все члены суперкласса и добавляет свои собственные уникальные элементы. К примеру, в Android есть класс View и подкласс TextView.


Так, один класс может "наследовать" характеристики другого - его методы и переменные.

Класс, являющийся основой, называют: базовым, супер, родительским.
Класс, который создают, называют: потомок, наследник или производный класс.
Пример

Представим, что у нас есть класс Dog. Что есть у каждой собаки? Четыре лапы, один хвост - и еще они умеют гавкать и вилять хвостом.

А теперь представим, что мы хотим создать классы для разных пород - овчарок, бульдогов и болонок.

У всех овчарок, бульдогов и болонок тоже будет четыре лапы и хвост, они тоже будут гавкать и вилять хвостом.

Конечно, мы можем просто брать и копировать эти методы и переменные в каждый класс. Но зачем? Мы можем использовать наследование.

Если мы сделаем все классы пород наследниками класса Dog, они будут иметь доступ ко всем его методам и переменным автоматически. Ну, почти ко всем.

Естественно, сама Джава тоже использует механизм наследования. Например, все классы языка наследуют класс Object, а классы ArrayList и LinkedList - класс List.

Как наследовать?
Правила наследования

Правило 4. Вызываем методы родителя через ключевое слово super.

Представим, что Вы хотите изменить метод родительского класса совсем чуть-чуть - буквально дописать пару строк. Тогда в своем методе мы можем вызвать родительский метод с помощью ключевого слова super.

Например, у нас есть класс Dog с методом voice():
Правило 1. Наследуем только один класс.

Java не поддерживает наследование нескольких классов. Один класс - один родитель.

Обратите внимание - нельзя наследовать самого себя!

Правило 2. Наследуется все кроме приватных переменных и методов.

Выше мы говорили, что класс-наследник будет иметь доступ ко всем переменным и методам родителя. Это не совсем так.

На самом деле, все методы и переменные, помеченные модификатором private, не доступны классу-наследнику.

Правило 3. Переделать метод класса-родителя.

Представим, что мы наследуем класс, но нам нравится не все, что мы унаследовали. Допустим мы хотим, чтобы определенный--- метод работал не так, как в родителе.

Для того, чтобы переопределить метод класса-родителя, пишем над ним @Override:
Наследование - это просто.

Для того, чтобы унаследовать класс, нужно использовать ключевое слово extends:

Правило 5. Запрещаем наследование.

Если Вы не хотите, чтобы кто-то наследовал Ваш класс, поставьте перед ним модификатор final. Например:

Комментарии

Информация по комментариям в разработке