- Метакласс
-
Метакласс (англ. Metaclass) — в объектно-ориентированном программировании это класс, экземпляры которого в свою очередь являются классами[1][2].
Содержание
Поддержка языками программирования
Не все объектно-ориентированные языки программирования поддерживают метаклассы. Те из них, что поддерживают, реализуют разный подход с своим собственным протоколом, правилами создания и обращения[3].
Среди языков, поддерживающих метаклассы:
- Common Lisp в составе CLOS
- Groovy
- Object Pascal (особенно Embarcadero Delphi)
- Objective-C
- Python
- Perl, через модуль Moose
- Ruby
- Smalltalk
Кроме того, существует целый ряд узкоспециализированных, особенно так называемых «академических» языков программирования, поддерживающих и исследующих концепцию метаклассов[4].
Особняком стоит Java, где также есть единственный метакласс — Class (описывает классы), который располагается в библиотеке java.lang. Однако, развитой концепции работы с метаклассами Java не предоставляет.
См. также
Примечания
- ↑ Мейер, Бертран «Основы объектно-ориентированного программирования»
- ↑ Wolfgang Klas, Michael Schrefl Metaclasses and Their Application. Data Model Tailoring and Database Integration. — Berlin; Heidelberg; New York; Barcelona; Budapest; Hong Kong; London; Milan; Paris; Tokyo : Springer, 1995 (Lecture notes in computer science; Vol. 943) ISBN 3-540-60063-9
- ↑ Ira R. Forman and Scott Danforth Putting Metaclasses to Work — 1999. ISBN 0-201-43305-2.
- ↑ Noury Bouraqad Efficient Support for Mixin-Based Inheritance Using Metaclasse.
Литература
- И. Ю. Баженова, «Delphi 7 самоучитель программиста», «Москва» 2003
Ссылки
Для улучшения этой статьи желательно?: - Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
- Проверить достоверность указанной в статье информации.
Категория:- Объектно-ориентированное программирование
Wikimedia Foundation. 2010.