[JL: a class is not just attributes, and "encapsulated concept" introduced additional unnecessary and undefined semantics
A class describes a set of objects that share the same specifications of features, constraints, and semantics. (UML 2.4)
A class is an abstract representation of a collection of similar things, typically specifying the attributes and relationships that those things share. In UML, classes can be specified in a class diagram. (Jay)]
[CM: A class describes a set of objects that share the same specifications of features, constraints, and semantics. (OMG UML Superstructure Specification)]
--Anneke Goossen 06:00, 22 February 2012 (EST)Found another definition: A class is an element that defines the attributes and behaviors that an object is able to generate. The behavior is described by the possible messages the class is able to understand, along with operations that are appropriate for each message. Classes may also have definitions of constraints, tagged values and stereotypes. Source 
Also: The OMG UML specification (UML Superstructure Specification, v2.1.1, pp. 52-53) states: The purpose of a class is to specify a classification of objects and to specify the features that characterize the structure and behavior of those objects. Objects of a class must contain values for each attribute that is a member of that class, in accordance with the characteristics of the attribute, for example its type and multiplicity. When an object is instantiated in a class, for every attribute of the class that has a specified default, if an initial value of the attribute is not specified explicitly for the instantiation, then the default value specification is evaluated to set the initial value of the attribute for the object. Operations of a class can be invoked on an object, given a particular set of substitutions for the parameters of the operation. An operation invocation may cause changes to the values of the attributes of that object. It may also return a value as a result, where a result type for the operation has been defined. Operation invocations may also cause changes in value to the attributes of other objects that can be navigated to, directly or indirectly, from the object on which the operation is invoked, to its output parameters, to objects navigable from its parameters, or to other objects in the scope of the operation's execution. Operation invocations may also cause the creation and deletion of objects.