Метакласс
Метакласс (англ. 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
Ссылки [править]
| Это заготовка статьи о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |
Для улучшения этой статьи желательно?:
|