Principles of Object Orientation
There are many object-oriented languages, and probably almost as many
definitions of "object-oriented". But the differences are more of
style than substance. All object-oriented languages implement, one
way or another, the same core set of features which are essential
for object-oriented programming: abstraction, encapsulation,
inheritance and polymorphism.
- Abstraction is the ability to factor out the common
features of an entire category of data objects and place them in a
separate definition. Such a definition is abstract because it defines
a class of objects rather than a specific object.
- Encapsulation is the ability to wrap data and logic in an
object, allowing complex programs to be built from simple (on the
outside) objects. The complexities are literally hidden in the
objects, with substantial benefits in reliability and maintainability.
- Inheritance is the ability to define one object as a
variation of another. The new object is said to inherit the
properties of the original object, except for those properties which
it overrides, or assigns a different value to.
- Polymorphism is the ability to use such a variation (or
"subclass", in objected-oriented terminology) wherever an instance
of the original class is expected.
Use of any software, source code and documentation obtained from this site
is governed by the
Bento Poetic License.
Copyright © 2003 by bentodev.org