Category talk:Class

Jump to: navigation, search

[JL: a class is not just attributes, and "encapsulated concept" introduced additional unnecessary and undefined semantics

try instead:

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 [1]

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.

--Stephen Chu 11 July 2012. This CIMI definition is problematic. A Class does not define a set of objects. A class is a template for an object [not a set of objects]. A class defines object properties including a valid range of values, and a default value. A class also describes object behavior. An object is a member or an "instance" of a class. An object has a state in which all of its properties have values that you either explicitly define or that are defined by default settings