1. <programming> The prototype for an object in an object-oriented language; analogous to a derived type in a procedural language. A class may also be considered to be a set of objects which share a common structure and behaviour. The structure of a class is determined by the class variables which represent the state of an object of that class and the behaviour is given by a set of methods associated with the class.
Classes are related in a class hierarchy. One class may be a specialisation (a "subclass") of another (one of its "superclasses") or it may be composed of other classes or it may use other classes in a client-server relationship. A class may be an abstract class or a concrete class.
2. <programming> See type class.