Preface – This post is part of the Differences in ABAP for Interviews series.
Table of Contents
Before jumping to the difference between a Procedural Programming and Object-oriented Programming, let’s have a short introduction of the two.
Programs are the instructions that tell the computer what to do to come up with the solution to a particular problem. There are several approaches to building solutions to specific types of problems with programming. Two of the most important approaches are procedural programming and Object-Oriented Programming.
Procedural Programming is a structured programming approach, based upon the concept of calling procedures which consists of a series of computational steps to be carried out. It follows Top Down approach to solve any problem. There is no accessing mode required to access the attributes or functions of a particular program. There is no proper way of hiding data, hence it is less secure.
Object-Oriented Programming is based upon the concept of Objects and Classes. It follows Bottom Up approach to solve the problem. The OOP paradigm focuses on the data rather than the algorithm to create the modules by dividing into the data and functions. An object contains the data in the form of attributes and codes in the form of methods. It provides data abstraction; hence it is more secure than procedural programming.
Procedural Programming and Object-oriented Programming
Procedural programming is simple and straight forward as it allows good isolation and containment for variables when properly scoped with functions and control loops. But it becomes more prohibitive to maintain the larger codes. Here comes the Object-oriented Programming which makes it easy to maintain the codes as new objects can be created which control their data. SAP provides us option to implement of them altogether.
Difference between Procedural Programming and Object-oriented Programming
Now, let’s have a look at their difference.
|It is process-oriented.||It is result-oriented.|
|Follows Top down approach.||Follows Bottom up approach.|
|Each function contains different data.||Each object controls its data.|
|There is no access specifier||They have access specifiers such as Private, Public, Protected etc.|
|Adding new data and function is not easy.||Adding new data and functions is easy.|
|Overloading is not possible.||Overloading is possible.|
|It is less secure.||It is more secure.|
|No concept of inheritance.||Inheritance is allowed.|