Concept is a much-used and debated term that applies to object-oriented computer programming. Object-oriented programming arrived on the programming scene in a big way with the introduction of C++, the first object-oriented programming language to go into widespread use.
C++ was preceded by C, a language that uses long strings of written code to build a function into a computer program. Basic is another language that utilized the same approach of code commands that are combined and repeated more or less in linear fashion. Object-oriented programming is assembled more along the lines of building blocks, beginning with a large object or task for the program to accomplish, and then working downward to successively smaller objects that, when combined, form the large object or function.
Object-oriented programming is described as conceptual in nature. The basic terms used to describe steps in the process of object oriented programming have their own names but are referred to as concepts. Each step is a thought process rather than a mathematical equation or a string of code that accomplishes the step in one particular programming framework.
Thus the primary tools for object-oriented programming are described as concepts.
The first concept is “object,” which is a software bundle of related variables and methods.
A “message” is the communication that occurs between software objects.
A “class” is a model or blueprint that defines the characteristics of all objects of a certain kind – or class.
“Inheritance” is the concept of a class obtaining behavioral and structural characteristics from its “superclass,” which is another concept. Inheritance is a method of structuring and organizing software programs – planting a set of identical characteristics in various places within a program.
“Instantiation” is the process by which individual objects are created by the system. The class description is used as a blueprint to create single instances of that class at that particular point in time and space while the program is running.
An “interface” is a contract, or commitment, of method and action. When a class implements an interface, it commits to performing all of the methods or acts contained in that interface.
These are the principal concepts that are referred to in object-oriented programming. At some point they are translated into code. A well designed program – that is, a program that uses these concepts efficiently – will contain a much lower volume of code than a similar program written in C or Basic. It is a different way of thinking about developing software functions.
Programmers will tell you that the shift in paradigm does not happen like a change in topics during a dinner table discussion. It takes focus to grasp these concepts and practice to learn how to use them efficiently and, of course, how to put them into code. But it is a fundamental change in perspective on the task of constructing a software program, and one that has proven to be a successful step forward in the evolving profession of programming.