Object Based Programming
Object Oriented Programming
Rumbaugh defines object-oriented programming as programming in terms
of a collection of discrete objects that incorporate both data and behaviors.
In order to be object-oriented a language must support these four features:
- Identity: the quantization of data in discrete, distinguishable entities
called objects
- Classication: the grouping of objects with the same structure and behavior
into classes
- Polymorphism: the differentiation of behavior of the same operation on
different classes
- Inheritance: the sharing of structure and behavior among classes in a hierarchical
relationship
For example, C++, Objective-C, Eiffel, SmallTalk, VB.net, C#,
Ada95, Java
Object Based Programming
Modern languages that provide user-defined types can provide identity and classification,
and some even support polymorphism. However without inheritance these languages
are not object-oriented. Cardelli and Wegner identify using user-defined types
for identity and classification without inheritance as object-based programming.
Since Fortran 90 lacks inheritance it is not an object-oriented language; however,
its user-defined types permit its use as an object-based language.
Cardelli, L. andWegner, P. On Understanding Types, Data Abstraction,
and Polymorphism. ACM Computing Surveys, 17(4), pp. 471-522 1985