What Is The Difference Between Object-Based And Object-Oriented?
Object-Based Programming usually refers to objects without inheritance [Cardelli 85] and hence without polymorphism, as in ’83 Ada and Modula-2. These languages support abstract data types (Adts) and not classes, which provide inheritance and polymorphism. Ada95 and Modula-3; however, support both inheritance and polymorphism and are object-oriented. [Cardelli 85, p481] state “that a language is object-oriented if and only if it satisfies the following requirements: • It supports objects that are data abstractions with an interface of named operations and a hidden local state. • Objects have an associated type. • Types may inherit attributes from supertypes. object-oriented = data abstractions + object types + type inheritance These definitions are also found in [Booch 91, Ch2 and Wegner 87].