What is Object Oriented Programming?
What is Object Oriented Programming?
The sciences that evolve to facilitate human life need innovation just like humans. This need for innovation necessitates new perspectives every day. Different perspectives in science give birth to new orientations and help to produce tools that make human life easier. In order to learn these perspectives and develop new ones, it is necessary to master the language of the system. If the question "So, how can I learn the language of the system and the perspectives that develop depending on that language?" is also on your mind, you can find answers to your curiosity in this article. One of the programming approaches that brings a new perspective to programming languages is object-oriented programming. Answering one of the most searched questions, "What does object-oriented programming mean?" is not as difficult as you might think.
What is Object Oriented Programming?
Object-oriented programming, can be answered as a kind of paradigm. In some places, you may also encounter this question as what is object-oriented programming, but these names point to the same thing. This programming is an approach that facilitates the process of embodying objects from the outside world in the digital environment. So, what does "object" mean in this approach? Here, what is called an object can actually be anything you see outside. A person, a table, a glass or a phone... The qualities of these objects constitute their properties. For example, the fact that the glass is red is a property of it. In order to display these properties in a digital environment, object-oriented programming is preferred. However, object-oriented programming languages are also important in this choice because the language chosen is one of the factors that make differences in programming. To better understand this approach, you may need some concepts. Therefore, you can take a look at the concepts that will be mentioned in the next topic.
Object Oriented Programming Concepts
After the introduction to the question "What is object-oriented programming?", the important concepts related to this program can be listed as follows:
- Class: Classes are formed by transferring properties of objects with some methods. There are variables in the class and these variables represent the information in the class of which they are members. In other words, classes come into existence depending on the existence of objects.
- Method: It is another component that represents the capabilities of the object, which provides what the object can do.
- Object: It is the data store that contains the components mentioned above, namely the class and methods.
- Programming Language: Languages used to introduce the computer to what is expected of it in order to solve problems and simplify operations. Some of these languages are Java, C and C++. For example, object-oriented programming is used effectively with Java.
Object-oriented programming concepts are generally as shown in the figure above.
4 Characteristics of Object Oriented Programming
The main goal of object-oriented programming is to abstract all functions into objects. In other words, it is one of the approaches used to make instructions less complex for the computer. The starting point of this approach is the need to improve the previously used procedural paradigm because the old paradigm is no longer fully inclusive for current problems. The purpose of the object-oriented paradigm is to give as much importance to data as to instructions. In other words, this paradigm offers a wide range of modeling and transfer possibilities by emphasizing the modeled object as well as the defined functions. At the core of this modeling method, there are 4 basic features. The defining characteristic of an object-oriented paradigm is the coexistence of these characteristics. The 4 characteristics of object-oriented programming can be listed as follows:
- Abstraction: Abstraction can be described as the definition of data that is grounded and draws attention to the functions of the object. The properties and behaviors in the class are abstracted and become an output. This output is object-oriented because the focus here is not on the instruction, but on the independent output created by the defined data. In other words, to abstract a mixer, you need features such as the color, model, power of the mixer and what it can do, i.e. its behaviors. These modules are components that can exist independently but interact to form the whole.
- Encapsulation: Encapsulation prevents certain information from being visible from the outside and facilitates control of the object. The client can only access the data through the functions to which access is granted. This makes it possible to treat the object holistically and to store the desired internal information. Encapsulation is in fact a protective unit and protects the whole against possible threats.
- Inheritance: Called inheritance or inheritance, this feature lives up to its name. That is, the properties created for one object can be inherited and transferred to other objects. This property, which provides property inheritance between classes, acts as a base for the class to which it is transferred. In other words, the class that inherits the property has the properties and methods of the inherited class in addition to its own properties. Thus, the code can be reused, but the number of repetitions is reduced and the workload is lightened.
- Polymorphism: One of the most functional object-oriented programming principles is polymorphism. This feature, like encapsulation, has a protection function. The object, which can be seen in many forms, can be customized within the class it belongs to and can be used in different application areas. However, it is not necessary for the client to see the forms in the background. For example, slippers and shoes are objects that can be worn, but their forms and therefore their uses differ. That is, only the wearable object as a whole can be presented, while in the background the formal differences work.
Object Oriented Programming Examples
Programming languages are necessary to create object-oriented programming examples. Through languages, standards can be set, instructions can be made uniform, and ways of solving a particular problem can be expressed. When this expression is object-oriented, it is called object-oriented programming. So, you can use the following examples to better see the relationship between programming languages and programming paradigm.
- C Object Oriented Programming: You can develop many projects using this language. It is very functional for games and various applications. For C object-oriented programming, it is necessary to take advantage of the concepts mentioned above. For example, assuming that a game character is created with the c language, the output may look like this depending on the properties entered:
Character John crying
Character John smiling
That is, objects defined within the created 'character class' are presented as the featured data.
- Object Oriented Programming C++: It is also possible to do object oriented programming with this language. This example will be discussed in more detail. An example similar to the one above will use object oriented programming for c++ as follows:
Character.h file:
class Character
Public
Character ( );
~Character ( );
std: : string name:
Virtual void smile (int Opinion);
Private
const int own_opinion =
void cry (int opinion)
Person.ccp file:
#include "character.h"
//private function
void Character: : cry (int Opinion)
{
if (own_opinion ! = Opinion)
std: : cout << "character" << name << "smile" << std: :endl ;
}
//public function
void Character: : cry (int Opinion)
{
wait (Opinion) ;
std: :cout << "character" << name << "waiting" << endl;
- Up to this point, the functions of two game characters have been defined. That is, the class and the objects in it have been coded in detail. Now the usage step of this object will be shown.
Object Usage:
#include "character.h"
int main ( )
{
Character character1;
Character character2;
character1. name = "John" ;
character2. name = "Katy" ;
character1.smile (1) ;
character2.smile (2) ;
return 0;
Game characters can now process the laugh data, meaning the object is usable.
Conclusion: In this paper, we have covered important information about object-oriented programming OOP. The meaning, purpose, important concepts and principles of programming were mentioned. Finally, the theoretical knowledge was made concrete by creating examples with the most commonly used programming languages.