Attribute:
An attribute is a data value held by objects in a class. Each attribute has a
value for each object instance. This value should be a pure data value, not an
object. Attributes are listed in the second part of the class box. Attributes may
or may not be shown; it depends on the level of detail desired. Each attribute
name may be followed by the optional details such as type and default value.
An object model should generally distinguish independent base attributes
from dependent derived attributes. A derived attribute is that which is derived
from other attributes. For example, age is a derived attribute, as it can be
derived from date-of-birth and current-date attributes.
operation
An operation is a function or transformation that may be applied to or by
objects in a class. Operations are listed in the third part of the class box.
Operations may or may not be shown; it depends on the level of detail
desired. Each operation may be followed by optional details such as argument
list and result type. The name and type of each argument may be given. An
empty argument list in parentheses shows explicitly that there are no
arguments. All objects in a class share the same operations. Each operation
has a target object as an implicit argument. An operation may have
arguments in addition to its target object, which parameterize the operation.
The behavior of the operation depends on the class of its target.
The same operation may be defined for several different classes. However, the
signature (i.e. output type and formal parameter list) must be the same
polymorphism
An operation may be polymorphic in nature. A polymorphic operation means
that the same operation takes on different forms in different/same classes.
Overloading of operators, overloading of functions and overriding of functions
provided by object-oriented programming languages are all examples of
polymorphic operations. A method is the implementation of an operation for a
class. The method depends only on the class of the target object.
No comments:
Post a Comment