Суперкласс (программирование)

Суперкласс (программирование)

В программировании суперклассом или родительским классом называют класс, на основе которого создаются другие классы. Классы, полученные на основе суперкласса, называются дочерними классами, производными классами или подклассами.

Суперкласс позволяет создавать обобщенный интерфейс, заключающий в себе настраиваемую функциональность за счет использования виртуальных функций.

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

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

Содержание

Базовый класс

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

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

В языке UML класс может иметь собственный набор корневых (root) свойств для обозначения, что это именно базовый класс.

В C++-стиле (который используется в C# и других языках) термин «базовый класс» используется вместо термина «суперкласс».

Примеры

Java

В языке программирования Java для определения суперкласса какого-либо класса вызывается метод getSuperclass. Этот метод возвращает объект Class, отражающий суперкласс данного класса, или возвращает null, если класс не имеет суперклассов. Для определения всех родителей класса метод getSuperclass вызывается повторно, пока не возвратит null.

В нижеследующем примере происходит поиск имён родительских классов для класса Button при помощи метода getSuperclass:

import java.lang.reflect.*;
import java.awt.*;
 
class SampleSuper {
 
   public static void main(String[] args) {
      Button b = new Button();
      printSuperclasses(b);
   }
 
   static void printSuperclasses(Object o) {
      Class subclass = o.getClass();
      Class superclass = subclass.getSuperclass();
      while (superclass != null) {
         String className = superclass.getName();
         System.out.println(className);
         subclass = superclass;
         superclass = subclass.getSuperclass();
      }
   }
}

Программа возвращает:

java.awt.Component
java.lang.Object

Примечания

См. также

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


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

  • Исключение (программирование) — Обработка исключительных ситуаций (англ. exception handling)  механизм языков программирования, предназначенный для описания реакции программы на ошибки времени выполнения и другие возможные проблемы (исключения), которые могут возникнуть при… …   Википедия

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

  • Objective-C — Класс языка: объектно ориентированный, мультипарадигмальный: рефлексивно ориентированный Появился в: 1986 Автор(ы): Бред Кокс Типизация данных: нестрогая, статическая / динамическая …   Википедия

  • Объектный Си — Objective C Класс языка: объектно ориентированный, мультипарадигмальный: рефлексивно ориентированный Появился в: 1986 г. Автор(ы): Типизация данных: строгая полиморфная, статическая Основные реализации: Apple gcc Испытал …   Википедия

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

  • JSP — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии. JSP (JavaServer Pages)  технология, позволяющая веб разработчикам легко создавать содержимое, которое… …   Википедия

  • Обработка исключений — Для улучшения этой статьи желательно?: Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное. Проставив сноски, внести более точные указания на источники …   Википедия

  • Исключения — Обработка исключительных ситуаций (англ. exception handling)  механизм языков программирования, предназначенный для описания реакции программы на ошибки времени выполнения и другие возможные проблемы (исключения), которые могут возникнуть при… …   Википедия

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

  • CRC-карта — (англ. Class responsibility collaboration card; рус. карта «Класс Ответственность Кооперация») метод мозгового штурма, предназначенный для проектирования объектно ориентированного программного обеспечения. CRC карты были предложены Уордом… …   Википедия


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

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