WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

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

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

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

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

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

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

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

В языке 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

См. также

Примечания

    Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

    Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

    Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




    Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

    Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

    2019-2024
    WikiSort.ru - проект по пересортировке и дополнению контента Википедии