Anobject-based languageis aprogramming languagethat provides a construct to encapsulate state and behavior as anobject.A language that also supportsinheritanceorsubtypingis classified asobject-oriented.[1]Even though object-oriented seems like a superset of object-based, they are used as mutually exclusive alternatives, rather than overlapping.[citation needed]Examples of strictly object-based languages – supporting an object feature but not inheritance or subtyping – are early versions ofAda,[2]Visual Basic 6(VB6), andFortran 90.
Some classifyprototype-based programmingas object-based even though it supports inheritance and subtyping albeit not via aclassconcept. Instead an object inherits its state and behavior from atemplateobject. A commonly used language with prototype-based programming support isJavaScript;
References
edit- ^Wegner, Peter (December 1987)."Dimensions of object-based language design"(PDF).In Meyrowitz, Norman (ed.).Conference proceedings on Object-oriented programming systems, languages and applications - OOPSLA '87.Vol. 22. pp. 168–182.doi:10.1145/38765.38823.ISBN0897912470.S2CID819420.
- ^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.Retrieved15 December2013.
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.