What is the difference between procedure -oriented language
and object oriented language?
Answer Posted / elango
There are 2 major software development approaches. They are listed below.
• Procedure oriented approach (structure oriented approach).
• Object oriented approach
Procedure oriented approach:
• Procedure oriented approach always concentrates on functions in the particular application, instead of considering the entities involved in the application.
• The software is fully based on the functions.
• C programming is a procedure oriented programming language (POP).
• Procedure oriented approach is not suitable to create real world applications.
Example for POP:
Let us assume, we going to create software for banking domain. The application is related with money transfer. Now let us see how we will develop the software using POP.
Scenario: First customers have to get the form and should fill it and submit it to banker. Banker will receive and process the application form. Once banker done with the money transfer, banker will inform to manager stating the status of the money transfer. And manager will issue acknowledgement to the customer and customer will receive it. Current system is a manual process and we are creating application to overcome the problem in the current system.
Step 01: Identify the functions in the application.
• Start the application
• Get the application form
• Fill the form
• Submit the form
• Receive and process
• Inform to manager
• Issue acknowledgement
• Receive the acknowledgement
• Close the application
Step 02: Identify the variables in the application.
Assume money transfer is one of the modules in the application, so the application even consists of common information about the customers.
Common information’s about the customer: A/cno, name, age, account_type, e-mailid , contactno, fathername, annual_income, signature , dob.
Note: Even password credentials can also be stored in the application.
Variables needed to complete the application process:
Toa/c_holderNo, to_branch, to_bank, to_amount, application_date, etc.
Step 03:
In the application, all the functions are used in the main function. Few variables will be declared as a global variable that will be shared by the functions. And few variables are local to the function. If we write coding for all the functions and place it in a proper way, then the application works properly.
Limitations in the above developed application using POP:
• We are not giving importance to the objects involved in the application. Objects involved are Customer, Banker and Manager.
• Variables which are declared global can be accessed by any functions in the application. Even banker and manager involved functions can also access personal information’s of the customer which is declared global to the application. So security is lacking.
• In POP each function is depend on each other, but this not the structure in the real world environment.
• Any changes to the application is not that much easy.
Note:
Customer functions – get the form, fill the form, submit the form, and receive the acknowledgement.
Banker functions – receive and process, inform to manager.
Manager function – issue acknowledgement.
Note:
To overcome the limitations in the POP language, we just moved to the next level called object oriented programming language.
Procedure oriented language are used to develop small applications.
Object oriented approach:
• Object oriented approach always concentrates on objects or entities involved in the application.
• The software is fully based on classes and objects.
• C++ and JAVA is object oriented programming language (OOP).
• Object oriented approach is used to create real world applications.
• Object oriented approach provides data security, overloading, inheritance, etc.
Developing the same application using OOP language:
Step 01: Identify the Entities involved in the application.
• Entities involved are Customer, Banker, and Manager.
• The basic concept involved in the OOP language is CLASSES.
• Classes in the particular application are entities involved in the application.
• So we need to declare 3 classes in the application - Customer, Banker, and Manager.
Step 02: Place the functions and variables in the classes.
• Customer class functions – get the form, fill the form, submit the form, and receive the acknowledgement.
• Banker class functions – receive and process, inform to manager.
• Manager class function – issue acknowledgement.
• Customer class variables - A/cno, name, age, account_type, e-mailid , contactno, fathername, annual_income, signature , dob, password credentials , Toa/c_holderNo, to_branch, to_bank, to_amount, application_date, etc.
• Banker class Variables - only a/cno, name, signature, Toa/c_holderNo, to_branch, to_bank, to_amount, application_date are exposed to banker class to process the application.
• Manager class variables – Manager Class consist of variable Manager ID which is exposed only to banker class, not to customer class. Only a/cno, name and status of the application are exposed to the manager class to acknowledge the customer.
Step 03: Final step. The objects of Customer, Banker and Manager Classes are interacted with each other. This is the way the complete application is designed in the object oriented programming language.
Advantages of OOP when compare to POP:
• It is more suitable for real time application development. It very close to the real world implementation.
• Here we are giving importance to the objects involved in the application. Rather than giving importance to the functionality. Objects involved are Customer, Banker and Manager.
• Variables are declared in the related classes, and only the necessary information’s are exposed to the other classes. So data security can be ensured.
• In OOP each functions is not depend on each other. The objects interact with each other using functions.
Link for reference:
http://freefeast.info/general-it-articles/difference-between-procedure-oriented-programming-and-object-oriented-programming-procedure-oriented-programming-vs-object-oriented-programming/
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
Hi Guys, This is Rama, right now I am working as a Software Test Engineer in Gurgoan and I have over all 3 years of testing expoeriance. Right now I am looking for a change. Can any body help me out to find a job in south india. Thanks in Advance
THERE ARE 4 SOURCE FILES WHICH CONTAINS SAME METADATA CREATE A TARGET THAT SHOULD DISPLAY THE FILE NAME ALONG WITH THE RECORD PLEASE SEND THE ANSWERFOR THIS QUESTION WITH MAPPING
how to get second highest salary from a employee table and how get a 5th highest salary from a employee table by using proc sql?
SELECT A~FTRMI A~AUFNR B~MATNR D~MAKTX B~PSMNG B~WEMNG C~MTART E~CHARG C~MATKL C~SPART R~BWART R~CHARG R~MATNR E~BWART R~BDMNG INTO TABLE ITAB FROM AFKO AS A INNER JOIN AFPO AS B ON A~AUFNR = B~AUFNR * INNER JOIN AFVC AS A1 ON A~AUFPL = A1~AUFPL AND B~DWERK = A1~WERKS INNER JOIN MARA AS C ON B~MATNR = C~MATNR INNER JOIN MAKT AS D ON C~MATNR = D~MATNR INNER JOIN MSEG AS E ON B~MATNR = E~MATNR AND A~AUFNR = E~AUFNR AND B~DWERK = E~WERKS INNER JOIN RESB AS R ON A~AUFNR = R~AUFNR AND E~AUFNR = R~AUFNR AND R~RSNUM = A~RSNUM AND R~WERKS = E~WERKS AND R~BAUGR = E~MATNR INNER JOIN MARA AS C1 ON R~MATNR = C1~MATNR WHERE A~FTRMI IN S_DATE AND A~AUFNR IN S_AUFNR AND C~MTART IN S_TYPE AND C~MATKL = 'T' AND R~BWART ='261' AND E~BWART = '101' AND R~XWAOK ='X' AND B~DWERK = '2000' AND R~XLOEK EQ SPACE AND E~KZBEW ='F' AND D~SPRAS = 'E' AND R~KZEAR = 'X' AND C~MATNR IN S_MATNR. This query gives repetative records from RESB.There must be some common field which i am not taking thats why its giving repetative records. If u find any solution pls lety me know ASAP. Thanks Swati Ghadge
will it allow to add same value in HashMap class.
Which method protects back button to retrieve old value from previous page in Struts.
how do i add a column dynamically in a table by using java application?
How to merge Action Form with Dyna Action Form in Struts.
purpose of abstraction and interface
When we use Windows authentication mode
Define distributed queries. can you explain me as soon as possible
In project we have Documentation phase also,in that what is micro and macro designing?
SAS question: I have 50 fils a1,a2,...,a50. the primary key is upc. then if i want to merge all 50 files, the code is as follows, data test; merge a1 ... a50; by upc; run; we know that writing all 50 files name is time consuming, is there any standard format of this code?
how do i create my own exception class which will restrict IO exception?
I am looking for selenium RC online Training in chennai. can any one tell me the best institute