|
What does it mean to be ``object-oriented''? The ``big three'' concepts are encapsulation, polymorphism, and inheritance, but the text ``Fundamentals of Object-Oriented Design in UML'' [12] specifies that the following criteria are necessary for a language to be considered object oriented.
- Encapsulation - the grouping of related ideas into unit. Encapsulating attributes and behaviors.
- Inheritance - a class can inherit its behavior from a superclass (parent class) that it extends.
- Polymorphism - literally means ``many forms''.
- Information/implementation hiding - the use of encapsulation to keep implementation details from being externally visible.
- State retention - the set of values an object holds.
- Oject identity - an object can be identified and treated as a distinct entity.
- Message passing - the ability to send messages from one object to another.
- Classes - the templates/blueprints from which objects are created.
- Genericity - the construction of a class so that one or more of the classes it uses internally is supplied only at run time.
- Test here
- More testing here
Subsections
Next: Encapsulation
Up: Day 1: Object-Oriented Software
Previous: Software development best practices
  Contents
|