What is Object Oriented Programming (OOP) ?

To begin this article, I would like to refer you to the Definition of Object Oriented Programming (OOP) as per Wikipedia.org, which begins as quoted below:

Object-oriented programming (OOP) is a programming paradigm based on the concept of “objects“, which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object’s procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of “this” or “self”). In OOP, computer programs are designed by making them out of objects that interact with one another.There is significant diversity of OOP languages, but the most popular ones are class-based, meaning that objects are instances of classes, which typically also determine their type.

Many of the most widely used programming languages (such as C++, Java, Python etc.) are multi-paradigm programming languages that support object-oriented programming to a greater or lesser degree, typically in combination with imperative, procedural programming.”

Now I know all of that must have sounded too technical for you, do not worry, I shall attempt to simplify matters somewhat hereunder. We begin with a graphic representation of what is a “Programming Paradigm”.

programming-paradigms-6-728

Essentially, we are talking about the problem that you face when you steel your mind  – you want to solve it ANYHOW and that become the “Programming Paradigm“. I think the above figure will now make slightly more sense than it did before, correct? So you first convert the “model” that you intend to convert into a program that will carry out the required computation, manipulation and re-arrangement of the basic concept you are required to put into practice in such a way that it delivers the required result, be it a complex operation or a simple one. In our case, let us say that an organization has requested you to create their monthly payroll register. A sample Payroll Register could look like the figure below.

payroll-register-sample-slide_2

From the above, we note that the basic object is the Employee. After that, we also note that for each employee, there would be some kind of Attendance Record – which either contains the daily working either in terms of Hours per Day, or Days per Month, depending on whether they are Skilled Workers or Office Workers, for example. Based on the Attendance Record, the Monthly Computation of Payroll involves calculations that give the Earnings they are eligible for, the Deductions from their pay and finally, the Amount Payable to them for the end of that particular accounting period for which the Payroll Register has been created, usually, it is for the Calendar Month, for example.

Now you have the following objects (a) Employee, (b) Attendance, (c) Attendance Units logged, (d) Payroll Earning Components, (e) Payroll Deduction Components and finally (f) Payroll Payable for that particular period.

That, friends, is what I would say is the simplest way that Object Oriented Programming can be explained, right? If you have any questions for the author, you are welcome to drop a line to exceltrainerahmedabad@gmail.com and I shall be quite delighted to answer them to the best of my abilities. Cheers !!

CA Vikram Shankar Mathur
14-Feb-2017 | 23:51 Hours IST | #CAVSM |

2 Replies to “What is Object Oriented Programming (OOP) ?”

  1. I think object oriented programming goes back to its pillars: inheritance, encapsulation, and polymorphism. I think this is a good starter, but it might be useful to expand on these pillars more. Also important, since this is an awesome excel blog, you should mention that VBA is actually not considered an object oriented programming language since it doesn’t allow for inheritance.

    1. Right, VBA Does not infact support full-g=fledged inheritance and polymorphism, but it does not really need to, as these require external access to VBA through excel interface, which is like, impossible! Thanks for your comments, which I agree with.

Comments are closed.