«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Наследство

Наследство

Опубликовано 1 ноября 2024 г.
Просматривать:113
  • Наследование — один из трех основных принципов объектно-ориентированного программирования.

  • Позволяет создавать иерархические классификации.

  • С помощью наследования можно создать общий класс, определяющий характеристики, общие для набора связанных элементов.

  • Этот общий класс может быть унаследован другими более конкретными классами, которые добавляют эксклюзивные характеристики.

  • На жаргоне Java унаследованный класс называется суперклассом.

  • Наследующий класс называется подклассом.

  • Подкласс — это специализированная версия суперкласса.

  • Подкласс наследует все переменные и методы суперкласса и добавляет свои собственные уникальные элементы.

Основные аспекты наследования

  • Java поддерживает наследование, позволяя одному классу включать в свое объявление другой класс.

  • Это делается с помощью ключевого слова Extension.

  • Подкласс добавляет функциональность (расширяет) суперкласс.

  • Примером этого является создание суперкласса TwoDShape, который хранит ширину и высоту двумерного объекта.

  • Подкласс Triangle создан для расширения TwoDShape.

  • Ключевое слово расширяет используется для создания подкласса.

Herança

Herança

  • TwoDShape определяет атрибуты общей двумерной фигуры, например квадрата, прямоугольника, треугольника и т. д.

  • Класс Triangle является подклассом TwoDShape и создает особый тип: треугольник.

  • Triangle наследует все от TwoDShape и добавляет поле стиля, метод area() и метод showStyle().

  • style хранит стиль треугольника, который может иметь любое описание, например «полный», «контур» или «равнобедренный».

  • Метод area() вычисляет и возвращает площадь треугольника.

  • Метод showStyle() отображает стиль треугольника.

  • Triangle может получить доступ к элементам ширины и высоты TwoDShape как в области(), так и непосредственно в объектах t1 и t2.

  • TwoDShape, несмотря на то, что он является суперклассом Triangle, является независимым классом и может использоваться отдельно.

Форма TwoDShape = новая TwoDShape();
shape.width = 10;
shape.height = 20;
shape.showDim();

  • Объект класса TwoDShape не знает и не имеет доступа к какому-либо подклассу TwoDShape.

Herança

  • Объявление класса, наследующего суперкласс:

класс имя-подкласса расширяет имя-суперкласса {
// тело класса
}

  • В Java вы можете указать только один суперкласс для любого создаваемого вами подкласса.

  • Java не поддерживает множественное наследование (наследование от нескольких суперклассов в одном подклассе), в отличие от C .

  • Можно создать иерархию наследования, в которой подкласс становится суперклассом другого подкласса.

  • Ни один класс не может быть суперклассом сам по себе.

  • Преимущество наследования состоит в том, что суперкласс может определять атрибуты, общие для нескольких объектов, что позволяет создавать множество конкретных подклассов.

  • Каждый подкласс может определить свою собственную классификацию на основе суперкласса.

  • Примером этого является создание подкласса TwoDShape для инкапсуляции прямоугольников.

Herança

  • Класс Rectangle является подклассом TwoDShape.

  • Добавляет метод isSquare(), который определяет, является ли прямоугольник квадратом (когда ширина равна высоте).

  • Также добавляет метод area(), который вычисляет площадь прямоугольника.

Заявление о выпуске Эта статья воспроизводится по адресу: https://dev.to/devsjavagirls/heranca-2nbo?1. Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить его.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3