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

Наследование в Java имеет несколько отличий от языков C / C++ В этом уроке рассмотрим на примере #java #урокиjava #javaMarshal Подписывайтесь в телеграм:
Все уроки в плэйлисте:    • Уроки 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. Например:

Смотрите также