The development of programming languages has undergone a lot of enhancement and development. There is a shift from the use of procedural programming languages to object oriented programming languages. Object oriented programming is not linear as compared to the procedural programming. The code of object oriented programs is broken up to more components. There is also more abstraction and code reusability. These and other features make object oriented programming an attractive programming language (Smith, 2011).
There is also the issue of code hiding. This is a feature that is common with object oriented programming. In this, the code of the class is hidden from the users and only the working of the class is the interface that is shown to the users. This makes the program secure because the code will be hard to get any form of changes. The code is abstracted from the users so that they cannot make changes to the program and how it works. This is one feature of security for object oriented approach of programming. This is not the case with procedural programming approach where the code is not hidden from the users and can be changed easily. The fact that internal details of the object are hidden makes the object to be abstract. This is what is called data abstraction. Practically, objects of a specific type form an instance of a class and their definition specifies the internal working of these objects and also their public interface. The creation of an object is called instantiation and it entails the definition of initial values of a class.
One of the most important aspects of object oriented programming is the aspect of data encapsulation. This means that there is a close attachment of items and procedures that are followed. The methods are tasked with data manipulation so that their behavior is reflected. The public interfaces that are formed by way of messages that are collected and are understood by an object are used to give a full description of an object. The programs that want to be able to manipulate an object will just need to be concerned with the messages that this object understand and will not need to know about how these tasks are achieved neither do they need to be concerned with the internal working of the object (Smolka, Henz, & Würtz, 2011).
The passing of the message of the message to the concerned objects is what is referred to as message passing. This is one aspect of object oriented programming. Message passing is the process of passing parameters to the child classes. This is used when a thread wants to pass a message to another thread in object oriented programming.
Object oriented methods are similar to procedural modules. This is because objects still make use of procedures to interact with the other objects. The only difference is that there is a complete reorganization where there is the use of classes and objects. Procedures in object oriented programming approach, just like in procedural programming still enables the programmer to undertake the same things that are undertaken in a procedural programming.
References
Smith, B. (2011). Object-Oriented Programming. In AdvancED ActionScript 3.0: Design Patterns (pp. 1-25). Apress.
Smolka, G., Henz, M., & Würtz, J. (2011). Object-oriented concurrent constraint programming in Oz.