Figure 16-2
Program Resulting from Object-Oriented
Programming
Structured (Procedural) Programming The construction of programs that are collections of interacting functions or procedures.
Object-Oriented Programming (OOP) The use of data abstraction, inheritance, and dynamic binding to construct programs that are collections of interacting objects.
Objects
The major principles of OOP originated as far back as the mid-1960s with a language called Simula. However, much of the current terminology of OOP is due to Smalltalk, a language developed in the late 1970s at Xerox's Palo Alto Research Center. In OOP, the term object has a very specific meaning: it is a self-contained entity encapsulating data and operations on the data. In other words, an object represents an instance of an ADT. More specifically, an object has an internal state (the current values of its private data, called instance variables), and it has a set of methods (public operations). Methods are the only means by which an object's state can be inspected or modified