Object-oriented programming involves three important concepts, which go under the jaw-breaking names if encapsulation, inheritance, and polymer- prism. Actually, these terms are not as fearsome as they look;
*Encapsulation: Encapsulation means an object contains (Encapsulates) booth (1) data and (2) the instructions for processing it, as we have seen. Once an object has been created, it can be reused, in other programs. An object’s uses can also be expended through concepts of class and inheritance.
*Inheritance: Once you have created an object, you can use it as the foundation for similar objects that have the same behavior and characteristics. All objects that are derived from or related to one another are said o form a class. Each class contains specific instructions (methods) that are unique to that group. Class’s cam be arranged in hierarchies classes and subclasses. Inheritance is the method of passing down traits of an object from classes to subclasses in the hierarchy. Thus new objects can be created by inheriting traits from existing classes. Writer Alan Freedman gives this example: “The object MACINTOSH could be one instance of the class PERSONAL COMPUTER, which could add a new computer, such as COMPAQ, you would need to enter only what makes it different from other computer. The general characteristics of personal computers could be inherited.
*Polymorphism: Polymorphism means many shapes. In object-oriented programming, polymorphism means that a message (generalized request) produces different results based on the object that it is sent to.
Polymorphism has important uses. It allows a programmer to create procedures about objects whose exact type is not known in advance but will be at the time the program is actually run on the computer. Freedman gives this example: “Screen cursor may change its shape from an arrow to a line depending on the program mode.”
A few examples of object-oriented programming(OOP) languages are Smalltalk, C++, Turbo Pascal, and Hypertalk.
Smalltalk- the first OOP language: Smalltalk was invented by computer scientist Alan Kay in 1970 at Xerox’s Palo Alto Research Center. Smalltalk, the first OOP language, uses a keyboard for entering text, but all other tasks are performed with a mouse.
C++, more than C: C++, the plus signs stand for “more than C” – combines the traditional C programming language with object-oriented capability. With C++, programmers can write standard code in C without the object-oriented features, use object-oriented features, or do a mixture of both.
Turbo Pascal, object-oriented Pascal: Designed in 1984 by Philippe Kahn of Borland International, Turbo Pascal is an object-oriented version of Pascal. The language allows a program to use removable modules, or object, that can be replaced later when the program is changed.
Hypertalk- the language for HyperCard: HyperCard, the software introduced for the Apple Macintosh in 1987, is based on the concept of cards and stacks of cards – just like notecards, only they are electronic. A card is a screenful of data that makes up a single record, cards are organized into related files called stacks. Using a mouse, you can make your way through the cards and stacks to find information or discover connections between ideas.
HyperCard is not precisely an object-oriented programming language, but a language called Hypertalk is. Hypertalk, which uses OOP principles, is the language used in the HyperCard program to manipulate HyperCard stacks.