Attribute Definition
Attributes
noreferences
@@tooltip Basic examples of Umple attributes, along with keywords that specify how they behave

@@description
<p>An attribute represents some information held by a class.</p>

<p>The attribute can have many properties, 
and can be defaulted to a certain value.</p>

<p>It is important to distinguish an attribute from the concept of a 'field' or
'instance variable' in Java or another programming language. An attribute is a
UML/Umple entity that represents simple data. In Java it will become a field, but 
there will also be methods associated with the Umple attribute to get it, set it, and <a href="SimpleConstraints.html">constrain</a>
its value. An attribute may also automatically be added to the argument list
of the constructor and constructed in the constructor. In
addition to representing attributes, Java fields also represent the ends of 
<a href="AssociationDefinition.html">associations</a>. Both attributes and associations should be considered more abstract
than fields.</p>

<p>
A summary of the generated methods for each attribute can be found on the <a href="APISummary.html">API summary</a> page.
</p>

<p><a href="BasicStateMachines.html">Umple state machines</a> are a special kind of attribute, and Umple also allows you to <a href="BeforeandAfterStatements.html">inject
code that will constrain or alter the values of attributes using aspect-oriented
techniques.</a></p>

<p>The example below shows the basic properties of attributes.<p>

@@syntax
[[attribute]] [[simpleAttribute]]  [[autouniqueAttribute]]  [[multivaluedAttribute]]  [[derivedAttribute]]  [[complexAttribute]]


@@example
@@source manualexamples/AttributeDefinition1.ump
@@endexample

