元類別

元類別，電腦程式用字，物件導向之中，以物件來描述類別嘅行為。唔係隻隻物件導向程式語言都有，就算有都好，各自對元類別有唔同睇法。由於電腦程式日新月異，時常用返同一個名，元類別內容亦可能唔係嗰樣嘢，可謂名同實異。有啲程式語言，甚至可控制類別嘅行為，例如控制類別如何生出物件。有啲甚至可以運行途中，改變類別行為。有啲就好單純，只查返物件或類別名稱之類。

由於實踐方法千差百異，唔係隻隻程式語言都咁叫元類別。好多會用元物件來叫。而實踐形式，就叫元物件協定。

文
繙自英文metaclass，習慣上元類別或者元類，但meta並無元嘅意思。佢本意為類別之上嘅嘢。

史
類別初見於Simula，之後Smalltalk再現，依個版本稱為Smalltalk-76。類別好似個模咁，生出物件，或者叫實例。由於類別好似特別，就諗出類別都可以好似物件咁控制，就構思出元類別。

Smalltalk-80為早期有元類別。之後有Lisp加入物件嘅諗法，LOOPS就有元類別，或叫元物件。LOOPS後繼者有Flavors、CommonLoops，到後來者CLOS。SmallTalk-80嘅概念，又有唔少程式語言承繼咗，當中含元類別。Objective-C師承SmallTalk-80，固然就有。Perl、Python、Ruby等都承繼前人。有啲後來亦加入元類別，好似 C++咁，C++23就將會加。

爭執
如何為之元類別，並無一貫定義。至可行就參照始祖Smalltalk，睇佢結構同功能，有幾多相似。同名實異為後來者帶來爭執。就好似Java有元類別之名Metaclass。然而佢同Smalltak比，就差天共地，結構同功能都大為相異。故此並唔當Java有元類別。

自身類別

編程
物件導向編程