Q. Describe in brief, the evolutiopn of OOP (Object Oriented programming)language.
Ans : Evolution of Programming Languages
The first program was created by toggling switches on the front panel of the computer.
This approach was suitable for only small programs.
Next, assembly language was invented (u will study this in microprocessor course next)
which allowed longer program to write (was not portable). It was nearly close to machine language but machine dependent.
The next advance happend in 1950s when the first high-level language (FORTRAN- FORMULA TRANSLATION) was invented. By using high-level language, a programmer was able to write programs that were several thousand lines long. I have started learning
computer programming using FORTRAN-IV that was in the year 1976 in AIT using an IBM Mainframe
300 series computer which has only 1MB RAM and used 80 column punched card for writing program.
The next invention was structured programming in 1960s.Threse languages include Algol and Pascal. I had to learn Pascal (the language academia) while I was a student at Glasgow
University, Scotland in the year 1986. During my study at Glasgow University, i had to learn ADA language, which was an advanced edition of Pascal. In loose term, C is a
structured programming language. Structured programming relies on well defined controlled structures, code blocks, the absence of GOTO statement. The drawbacks of this programming language was found when the program reaches a certain size.
To allow more complex programs to be written, Object Oriented programming was invented. This allows programmers to organize their programs more effectively. OOP encourages you to decompose a problem into its constituent parts. Each components become a self contained object that contains its own instructions and data that
relate to the object. In this way, complexity is reduced, and programmers can manage large programs.
Q. What are the common traits of OOP. Explain them briefly.
All OOP languages, including C++ share three common traits (properties/features):
It is the mechanism that binds together codes and data that manipulates, and keeps both safe from outside interface and misuse. Here, code and data can be combined in such a way that a self contained “black box” is created. When code and data linked in this fashion,an object is created. An object is a device that supports encapsulation. Here, the public parts of an object are used to provide a controlled interface to the private elements of the object. An object is a variable of user defined types. Each time you create an object , you are creating a new data type.
It is the quality that allows one name to be used to one or more realted but technically different puposes. OOP allows one name to generalize a general class of action.Within the general class of actions, the specific action to be applied is determined by the type of data. In C, for data type int, float and long, we need three functions
to find the absolute value of its argument. But in C++, we can write only one function which will work for all the three types of data.
It is the process by which one object can capture the properties of another. More specifically, an object can inherit a general set of properties to which it can add those features that are specific, only to itself. Throgh inheritance, it is possible to describe an object by starting with the general class(s) it belongs to along with
those specific traits that make it unique.