Суперкласс (программирование)
В
Суперкласс позволяет создавать обобщенный интерфейс, заключающий в себе настраиваемую функциональность за счет использования виртуальных функций.
Механизм суперклассов широко используется в
Языки программирования могут поддерживать абстрактные и конкретные суперклассы.
Базовый класс
Базовый класс — это класс, не имеющий суперкласса, и поэтому находится в основании дерева подклассов. Большинство объектно-ориентированных систем программирования обеспечивает библиотеку классов, на основании которых разработчик создает свои собственные. Эти библиотеки зачастую предлагают один или довольно ограниченный набор базовых классов, которые составляют основу библиотеки.
В случае, когда язык или библиотека имеют лишь один базовый класс, то он именуется высшим типом.
В языке 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
См. также
- Высший тип
- Наследование
- Принцип подстановки Барбары Лисков
- Виртуальное наследование
Примечания
int main()
{
printf("Hi");
return 0;
}
| Это заготовка статьи о программировании. Помогите Википедии, дополнив её. |