Ch04 - Software Design and Architecture Concepts
Ch04 - Software Design and Architecture Concepts
2 / 16
Object Oriented Concepts
Objects & Classes 1/2
An object is a real-world physical or conceptual entity that provides an
understanding of the real world and, hence, forms the basis for a software
solution
• A real-world object can have physical properties (they can be seen or
touched): door, motor, lamp,..
• A conceptual object is a more abstract concept: an account, a transaction,..
An object (object instance) is a single “thing”: John’s car or Mary’s account
A class (object class) is a collection of objects with the same characteristics:
Account, Employee, Car, or Customer
Object-oriented applications consist of objects.
3 / 16
Object Oriented Concepts
Objects & Classes 2/2
• An object groups both data & procedures that operate on the data
– The procedures are usually called operations or methods.
– Some approaches, including the UML notation, refer to the operation as the
specification of a function performed by an object and the method as the
implementation of the function
• An attribute is a data value held by an object in a class. Each object
has a specific value of an attribute.
• An operation is the specification of a function performed by an object
– An object has one or more operations.
– The operations manipulate the values of the attributes maintained by the object.
– Operations may have input and output parameters.
– All objects in the same class have the same operations.
4 / 16
Object Oriented Concepts
Information Hiding 1/2
If the data structure changes, the only object affected is the one
containing the data structure, not the calling object. This form
of information hiding is called data abstraction.
5 / 16
Object Oriented Concepts
Information Hiding 2/2
7 / 16
Concurrent Processing
Sequential Application
9 / 16
Concurrent Processing
Concurrent Application 2/2
10 / 16
Concurrent Processing
Concurrent Objects
11 / 16
Concurrent Processing
Cooperation between Concurrent Objects