Introduction to OOP in C++

What is OOP?

OOP stands for Object-Oriented Programming.

Object-oriented programming is a way of solving complex problems by using objects to divide complex problems into smaller ones. Before object-oriented programming (commonly known as OOP), programs were written in a procedural language. It was just a long list of instructions. OOP, on the other hand, aims to create objects that can interact with each other. This facilitates the development of programs in OOP by understanding the relationships between objects.

Object-oriented programming aims to implement real-world entities like inheritance, hiding, and polymorphism in programming. The main purpose of OOP is to link data to the functions that manipulate it so that no other part of the code can access this data.

Characteristics of an Object-Oriented Programming language(OOP):

1. Class:

Classes are a component of C ++ that leads to object-oriented programming. This is a user-defined data type that contains its own data members and member functions and can be accessed and used by creating an instance of that class. Class like blueprint of object.

For example:
[sc name=”compiler”]

2. Object: 

An object is an identifiable entity with some characteristics and behavior. The object is an instance of the class. Memory is not allocated when the class is defined, but memory is allocated when an instance is created (that is, the object is created).

Objects take up space in memory and are associated with addresses such as Pascal registers, structures, or C joins.

When the program runs, the objects interact by sending messages to each other. Objects can interact without knowing each other’s data or code details. It is enough to know the type of message accepted and the type of response that the object returns.

For example:
[sc name=”compiler”]

3. Encapsulation:

Encapsulation is generally defined as the grouping of data and information in one unit. In object-oriented programming, encapsulation is defined as the combination of data with the functions that manipulate it.

The meaning of encapsulation is to make sure that “sensitive” data is hidden from the user. To achieve this, the class variable / attribute must be declared private (not accessible from outside the class). If you want others to read or change the value of a private member, you can provide public get and set methods.

For example:
[sc name=”compiler”]

4. Abstraction:

Data abstraction is one of the most important and important features of C ++ object-oriented programming. Abstraction means showing only important information and hiding details. Data abstraction is the provision of important information about the data to the outside world, hiding details and background implementations.

For example:

The above program does not allow direct access to variables a and b, but calls the set () function to set the values ​​of a and b and the display () function to set the values ​​of a and b. will be shown. second.

5. Polymorphism:

The word polymorphism means that it has many shapes. Simply put, polymorphism can be defined as the ability of a message to be displayed in multiple formats. Polymorphism is widely used in the implementation of inheritance

Polymorphism means “many forms” and occurs when there are many interrelated classes due to inheritance. At the same time, one can have different characteristics. At the same time, as men, fathers, husbands and employees. Therefore, the same person behaves differently in different situations. This is called a polymorphism..

For example:

Consider a base class called Animal that has a method called animalSound (). Animal derived classes can be pigs, cats, dogs, birds, and they also have their own implementation of animal sounds (pig barking, cat barking, etc.):

[sc name=”compiler”]

6. Inheritance:

The ability of one class to derive properties and properties of another class is called inheritance. This is one of the most important characteristics of OOP.

  • Subclass – A class that inherits properties from another class is called a subclass or derived class.
  • Superclass – A class whose properties are inherited by subclasses is called a base class or superclass.
  • Reuse: inheritance supports the concept of “reuse”. This means that if you need to create a new class and you already have a class that contains some of the code you need, you can derive the new class from an existing class. This will reuse the fields and methods of the existing class.
For example:
[sc name=”compiler”]

Advantages of OOP:

1. Parallel development is possible.

If you work with programming teams, each team can work independently once the modular classes are created. This allows for a relative level of parallel development that would not be available otherwise.

2. Modular classes are often reusable.

Once a modular class is created, it can often be reused in other applications and projects. The following projects may also require little or no change. This gives the team more flexibility after the initial launch phase.

3. The encoding is easy to maintain.

OOP provides a centralized coding base that makes it easy to write maintainable procedural code. This makes it easy to access your data when you need to update. This process also often requires a high level of validation, which also improves scheduling security.

Disadvantages of OOP:

1. It can be ineffective.

 It can be an ineffective choice if you are subject to technical limitations due to the resulting increase in size. Due to duplication, the initial encoding may be longer than other options.

2. It may be too scalable.

When OOP gets out of hand, it can create a lot of bloated and unwanted code. When that happens, it adds overhead and makes it difficult to keep costs down.

3. It can cause duplication.

Object-oriented programming projects tend to be easier to design than to implement. This is because modular class applications are extremely flexible. Sometimes you can launch a new project faster and run it, but sometimes it seems like the project is duplicated.

Object-oriented programming requires a steep learning curve, but it can also be an investment in future projects. By weighing strengths and weaknesses, you can weigh up-front costs against future benefits to determine if that’s the right approach.

Conclusion:

OOP is the most important and flexible programming paradigm in modern programming. This is very popular because it is especially useful for modeling real problems.

References:

  • https://www.tutorialspoint.com/cplusplus/cpp_object_oriented.htm
  • https://www.geeksforgeeks.org/object-oriented-programming-in-cpp/
  • https://www.w3schools.com/cpp/cpp_oop.asp

Leave a Reply

Your email address will not be published. Required fields are marked *