Object-Oriented Technology
Concepts

Overview

Object-oriented (OO) technology consists of a set of concepts, evolved over a period of decades, for writing maintainable and understandable software. In approximate order of evolution, the concepts are:

  1. Data Abstraction: A data type that models a real-world concept or thing.

  2. Encapsulation and Information-Hiding: Restricting data access and visibility to only the methods of the program unit in which the data is defined.

  3. Stable Interfaces: Designing the invocation protocol of methods to be resilient to change when the encapsulated data or the body of the method changes.

  4. Object: A run-time instance of a data abstraction that enforces information-hiding and encapsulation.

  5. Class: A template for creating objects. A class declares data that models the state of a data abstraction, and methods that model the behavior of the data abstraction.

  6. Composition: Creation of a new data abstraction from existing data abstractions.

  7. Inheritance: Creation of a class relative to another class.

  8. Polymorphism: Ability of an object to masquerade as more than one data abstraction.

  9. Dynamic Binding: Ability of a program to assemble itself from its composite objects at run-time.

  10. Package: A collection of related classes.

Because object-oriented software development is based upon a set of concepts rather than any particular programming language, OO can be practiced with most any language, including older languages such as Fortran. An OO programming language helps immensely, however, especially a well-conceived modern language such as Java.


[home]
[OO] [Java] [memorial ships]
[humor] [income tax repeal]


Copyright (C) 1998 LDJ Trust