Подкласс (программирование)

Подкласс (программирование)

В объектно-ориентированном программировании подкласс — это класс, наследующий некоторые (или все) свойства от своего суперкласса.

Для простоты можно считать подкласс одним из «вариаций» своего суперкласса, как, например, «Мэнкс — порода кошек», а «квадрат — вид прямоугольника»:

  • Кошка имеет мех, четыре лапы и хвост
    • Мэнкс не имеет хвоста, но зато обладает всеми остальными перечисленными характеристиками
  • Прямоугольник имеет четыре стороны, длины которых равны w (длина) и h (ширина)
    • Квадрат обладает всеми характеристиками прямоугольника, причём w = h

С этой точки зрения, подкласс — это более уточнённая версия его суперкласса; то есть, перечислены факты о кошках, утверждающие что они в общем случае истинны для всех кошек, даже если у некоторых пород нет хвоста. А все прямоугольники имеют четыре стороны, при этом квадрат имеет более узкую трактовку данных характеристик: все эти четыре стороны должны иметь одинаковую длину.

Не стоит путать отношение подкласс-суперкласс с взаимосвязью классов и его объектами (экземплярами). «Экземпляр кошки» говорит об одной конкретной кошке. Кошка породы Мэнкс в таблице продолжает являться классом, поскольку существует множество различных кошек Мэнкса. А если конкретная кошка (экземпляр класса кошек) случайно теряет свой хост в драке с лисой, то это никак не меняет самого класса кошек. Это будет все равно лишь конкретная кошка, претерпевшая изменения.

Подклассы и суперклассы часто обозначаются как производные или порождённые (derived) и базовые (base) классы соответственно, причём эти термины закреплены создателем C++ — Бьёрном Страуструпом, который нашёл эти термины более интуитивно понимаемыми по сравнению с традиционной номенклатурой названий.[1]

См. также

Для более подробного объяснения концепции классов в объектно-ориентированном программировании, смотри статью о классах.

Ссылки

  1. Бьёрн Страуструп. The Design and Evolution of C++. Addison-Wesley. Reading, Mass. 1994. ISBN 0-201-54330-3. стр. 49

Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Подкласс (программирование)" в других словарях:

  • Переопределение метода — (англ. Method overriding) в объектно ориентированном программировании одна из возможностей языка программирования, позволяющая подклассу или дочернему классу обеспечивать специфическую реализацию метода, уже реализованного в одном из… …   Википедия

  • Калькулятор — У этого термина существуют и другие значения, см. Калькулятор (значения). Современный инженерный калькулятор Калькулятор …   Википедия

  • Clojure — Класс языка: функциональный, мультипарадигмальный Появил …   Википедия

  • Таблица виртуальных методов — (англ. virtual method table, VMT) координирующая таблица или vtable механизм, используемый в языках программирования для поддержки динамического соответствия (или метода позднего связывания). Допустим, программа содержит несколько классов в… …   Википедия

  • Eiffel — Класс языка: объектно ориентированный Появился в: 1986 Автор(ы): Bertrand Meyer Типизация данных: строгая, статическая Основные реализации …   Википедия

  • Принцип подстановки Барбары Лисков — (англ. Liskov Substitution Principle, LSP) в объектно ориентированном программировании является специфичным определением подтипа предложенным Барбарой Лисков в 1987 году на конференции в основном докладе под названием Абстракция данных и… …   Википедия

  • Принцип подстановки Лисков — Принцип подстановки Барбары Лисков (англ. Liskov Substitution Principle, LSP) в объектно ориентированном программировании является специфичным определением подтипа предложенным Барбарой Лисков в 1987 году на конференции в основном докладе… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»