Object-oriented programming

Object-oriented programming (OOP) is the use of a class of programming languages and techniques based on the concept of an "" which is a data structure encapsulated with a set of routines, called "s", which operate on the data. Operations on the data can only be performed via these methods, which are common to all objects that are instances of a particular "". Thus the interface to objects is well defined, and allows the code implementing the methods to be changed so long as the interface remains the same.

Description
Each class is a separate and has a position in a "class hierarchy". Methods or code in one class can be passed down the hierarchy to a subclass or inherited from a superclass. This is called "".

A call is described as invoking a method on an object (which effectively becomes the procedure's first ), and may optionally include other arguments. The method name is looked up in the object's class to find out how to perform that operation on the given object. If the method is not defined for the object's class, it is looked for in its superclass and so on up the class hierarchy until it is found or there is no higher superclass.

OOP started with 67 around 1970 and became all-pervasive with the advent of, and later Java. Another popular object-oriented programming language (OOPL) is, a seminal example from Xerox PARC. Others include, , Objective-C, , , , , , , , , , , and. Other languages, such as and, permit, but do not enforce OOP.

Articles

 * The Deep History of Your Apps: Steve Jobs, NeXTSTEP, and Early Object-Oriented Programming by Hansen Hsu at The Computer History Museum (2016-03-15)