An abstract extensible class that you use in conjunction with a foundation class to define subclasses via multiple inheritance. Mixin classes define sets of attributes that would not be useful alone, but can be used to customize other classes to serve particular purposes.
a class that is designed to provide operations and/or a fragment of interface via inheritance
a class whose super class is specified in an abstract way, by specifying the minimum set of fields and methods it should have
a parent class that is inherited from - but not as a means of specialization
a set of functions bound together into a class (usually used to keep related functions together)
a set of utility functions in a class with no parameters that can be used as a local variable, an expanded attribute, or through implementation inheritance, though the latter may not be recommended if careful usage of namespace is a concern
A class designed to be combined with other classes through inheritance. Mixin classes are usually abstract.