Object-based language

Source: Wikipedia, the free encyclopedia.

The term object-based language may be used in a technical sense to describe any programming language that uses the idea of encapsulating state and operations inside objects. Object-based languages need not support inheritance or subtyping, but those that do are also termed object-oriented. Object-based languages that do not support inheritance or subtyping are usually not considered to be true object-oriented languages.

Examples of

Fortran 90
. These languages all support the definition of an object as a data structure, but lack polymorphism and inheritance.

In practice, the term object-based is usually applied to those object-based languages that are not also object-oriented, although all object-oriented languages are also object-based, by definition. Instead, the terms object-based and object-oriented are normally used as mutually exclusive alternatives, rather than as categories that overlap.

Sometimes, the term object-based is applied to prototype-based programming languages, true object-oriented languages that lack classes, but in which objects instead inherit their code and data directly from other template objects. An example of a commonly used prototype-based scripting language is JavaScript.

Both object-based and object-oriented languages (whether class-based or prototype-based) may be

runtime.[1][2]

Difference between object-oriented and object-based languages
Object-oriented language Object-based language
Object-oriented languages support all of the features of object-oriented programming (OOP): abstraction, encapsulation, inheritance, polymorphism Object-based languages support a subset of the features of OOP, such as polymorphism or inheritance.[citation needed]
Examples: C++, C#, Java, etc. Examples: Visual Basic (pre-.NET)[citation needed]

References

  1. .
  2. ^ Barbey, S.; Kempe, M.; Strohmeier, A. (1993). "Object-Oriented Programming with Ada 9X". Draft Technical Report. Swiss Federal Institute of Technology in Lausanne Software Engineering Laboratory. Retrieved 15 December 2013. Ada 83 itself is generally not considered to be object-oriented; rather, according to the terminology of Wegner [Weg 87], it is said to be object-based, since it provides only a restricted form of inheritance and it lacks polymorphism.