Bento Logo
> Bento Home > Bento Documentation > Bento: Object-Oriented Fundamentals
Object-Oriented Fundamentals

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