up previous next contents
Next: Encapsulation Up: Day 1: Object-Oriented Software Previous: Software development best practices   Contents

Introduction to OO concepts

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.

  1. Encapsulation - the grouping of related ideas into unit. Encapsulating attributes and behaviors.
  2. Inheritance - a class can inherit its behavior from a superclass (parent class) that it extends.
  3. Polymorphism - literally means ``many forms''.
  4. Information/implementation hiding - the use of encapsulation to keep implementation details from being externally visible.
  5. State retention - the set of values an object holds.
  6. Oject identity - an object can be identified and treated as a distinct entity.
  7. Message passing - the ability to send messages from one object to another.
  8. Classes - the templates/blueprints from which objects are created.
  9. Genericity - the construction of a class so that one or more of the classes it uses internally is supplied only at run time.
  10. Test here
  11. More testing here



Subsections
up previous next contents
Next: Encapsulation Up: Day 1: Object-Oriented Software Previous: Software development best practices   Contents