OOPs Concepts

OOP is a technique to develop logical modules, such as classes that contains properties, fields and events. OOP provides many concepts such as inheritance, data binding, polymorphism etc.
Object means a real word entity such as pen,paper, chair, table etc.
 It simplifies the software development and maintenance by providing some concepts:
  1. Object
  2. Class
  3. Inheritance
  4. Polymorphism
  5. Abstraction
  6. Encapsulation

Object:

Any entity that has state and behavior is known as an object. For example: chair, pen, table, keyboard, bike etc. It can be physical and logical.

Class:

Collection of objects is called class. It is a logical entity.

Inheritance:

When one object acquires all the properties and behaviours of parent object i.e. known as inheritance. It provides code reusability. It is used to achieve runtime polymorphism.

Polymorphism:

When one task is performed by different ways i.e. known as polymorphism. For example:  to draw something e.g. shape or rectangle etc.
In C#, we use method overloading and method overriding to achieve polymorphism.
Abstraction:
Hiding internal details and showing functionality is known as abstraction. For example: phone call, we don’t know the internal processing.

Encapsulation:

Binding (or wrapping) code and data together into a single unit is known as encapsulation. For example: capsule, it is wrapped with different medicines.