Найти в Дзене
yagdmitrij

Наследование в java. Общие положения

Наследование в java очень непростая тема и возможно ее придется разбить на несколько статей. Исходя из названия, можно догадаться, что речь идет о наследовании свойств и характеристик от другого. В java - это самый обыкновенный класс, который может наследоваться от другого класса. Ярким примером из жизни будет сын, который унаследовал от отца зеленые глаза, форму головы, но при этом имеет свой уникальный характер, присущий только ему. Организация наследования в java происходит с помощью ключевого слова extends. class Sin extends Otez { } Класс Sin наследует некоторые характеристики (методы и переменные) класса Otez, при этом Sin будет считатся подклассом, а Otez – суперклассом. Но какое практическое применение наследования в java? Дело в том, что подкласс спокойно может оперировать методами и переменными (полями) суперкласса. А это значит, что код единожды раз написанный можно повторно использовать в своем классе через наследование. А вообще-то, повторно использование кода в java досту

Наследование в java очень непростая тема и возможно ее придется разбить на несколько статей. Исходя из названия, можно догадаться, что речь идет о наследовании свойств и характеристик от другого. В java - это самый обыкновенный класс, который может наследоваться от другого класса. Ярким примером из жизни будет сын, который унаследовал от отца зеленые глаза, форму головы, но при этом имеет свой уникальный характер, присущий только ему. Организация наследования в java происходит с помощью ключевого слова extends.

class Sin extends Otez {

}

Класс Sin наследует некоторые характеристики (методы и переменные) класса Otez, при этом Sin будет считатся подклассом, а Otezсуперклассом. Но какое практическое применение наследования в java? Дело в том, что подкласс спокойно может оперировать методами и переменными (полями) суперкласса. А это значит, что код единожды раз написанный можно повторно использовать в своем классе через наследование. А вообще-то, повторно использование кода в java доступно как при построении объектов, так и при наследовании. Рассмотрим пример наследования в java.

наследование
наследование

Обратите внимание, что подкласс может спокойно использовать методы и переменные суперкласса, однако если они записаны с доступом private, то использование их напрямую будет невозможно.

Конечно, можно в своих программах наследоваться от любых классов, это не запрещено. Однако лучше, чтобы это были классы, логически связанные между собою, т.е. суперкласс рекомендуется наделять какими-то общими характеристиками. Кстати, у подкласса может быть только один суперкласс. Множественное наследование в java не поддерживается. Рассмотрим структурную схему применительно к нашему сын-отец:

наследование
наследование

И действительно, у каждого члена семьи есть фамилия и имя, и при этом они обладают какими-то своими уникальными характеристиками как: «умный», «суровый» и «красивая». Может быть класс «Pol» здесь неуместен, но это сделано для глубокой иерархии классов наследования. Важно понять логическую концепцию создания суперклассов и подклассов.

Здесь еще нужно понять одну интересную вещь при создании объекта подкласса. Дело в том, когда мы создаем объект подкласса, подразумевается, что в нем также создается объект его суперкласса или подобъект, как угодно. Это хорошо мы увидим в следующем коде, созданном на основе вышеприведенной структурной схемы. В каждом классе программы мы просто определили конструкторы, в которых выводится сообщение на экран.

наследование
наследование

Теперь, когда мы создаем объект типа Mama, происходит инициализация в конструкторах Pol и Semja. Если сказать простыми словами: мы создаем один объект, а получается, как бы (условно), три. Один реальный и два в уме)*. А это означает, что в подклассы автоматически встраиваются конструкторы их суперклассов, если у них нет параметров. А если есть…, то об этом поговорим в следующих статьях про наследование в java.

И в заключение: наследование является мощным инструментом в Java, который позволяет:

Переиспользовать существующий код

Создавать иерархию классов

Повышать эффективность разработки

Делать код более структурированным и понятным

Правильное использование наследования — важный навык для любого Java-разработчика. Оно помогает создавать более гибкие и поддерживаемые приложения, что особенно важно при работе над крупными проектами.

Ставьте лайки, подписывайтесь на канал и вас ждет масса увлекательных статей по java.

Моя телега, где буду выкладывать полезные штучки по java, а также анонс моих статей.

*личное мнение автора и может отличаться от общепринятого.