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:
- Data Abstraction:
A data type that models a real-world concept or thing.
- Encapsulation and Information-Hiding:
Restricting data access and visibility to only the methods of the
program unit in which the data is defined.
- Stable Interfaces:
Designing the invocation protocol of methods to be resilient
to change when the encapsulated data or the body of
the method changes.
- Object:
A run-time instance of a data abstraction that
enforces information-hiding and encapsulation.
- 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.
- Composition:
Creation of a new data abstraction from existing
data abstractions.
- Inheritance:
Creation of a class relative to another class.
- Polymorphism:
Ability of an object to masquerade as more than one data
abstraction.
- Dynamic Binding:
Ability of a program to assemble itself from its composite
objects at run-time.
- 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