The fundamental idea behind OOP is to combine into a single unit both data and the methods that operate on that data; such units are called an object. All OOP languages provide mechanisms that help you implement the object-oriented model. They are encapsulation, inheritance, polymorphism and reusability
Object oriented programming (OOP) is a programming structure where programs are organized around objects as opposed to action and logic. This is essentially a design philosophy that uses a different set of programming languages such as C#. Understanding OOP concepts can help make decisions about how you should design an application and what language to use.Everything in OOP is placed together as self-sustainable “objects.” An object is a combination of variables, functions, and data that performs a set of related activities. When the object performs those activities, it defines the object’s behavior. In addition, an object is an instance of a class. Furthermore, C# offers full support for OOP including inheritance, encapsulation, abstraction, and polymorphism:Encapsulation is when a group of related methods, properties, and other members are treated as a single object. Inheritance is the ability to receive (“inherit”) methods and properties from an existing class. Polymorphism is when each class implements the same methods in varying ways, but you can still have several classes that can be utilized interchangeably. Abstraction is the process by which a developer hides everything other than the relevant data about an object in order to simplify and increase efficiency. We’ll discuss each of these concepts in more detail in this post.