Hi @Zhang_MR, Thanks for reaching out to us.
In object-oriented programming, a metaclass is a class whose instances are classes. Just as an ordinary class defines the behavior of certain objects, a metaclass defines the behavior of certain classes and their instances. Not all object-oriented programming languages support metaclasses. Among those that do, the extent to which metaclasses can override any given aspect of class behavior varies. Metaclasses can be implemented by having classes be first-class citizens, in which case a metaclass is simply an object that constructs classes. Each language has its own metaobject protocol, a set of rules that govern how objects, classes, and metaclasses interact.
In object-oriented programming, a class from which other classes inherit code is called a superclass. Furthermore, the class that inherits the code is called a subclass of that superclass. Typically, a subclass inherits the instance variables and member functions of its superclass.
Hope it helps.
Happy Learning