Abstraction: To represent the essential feature without representing the background details is abstraction. It lets you focus on what the object does instead of how it does it.
Abstraction provides you a generalized view of your classes or objects by providing relevant information. Mostly we make abstract class to generalized a concept.
Ex: generalized file upload, where you can upload any kind of file like word pdf or any other.
Encapsulation: Prevents access to implementation details i.e. Wrapping up a data member and a method together into a single unit. example Mobile Phones.
Inheritance: Inheritance is a process of object reusability. When a class includes a property of another class it is Inheritance. Example parent-child relation.
Polymorphism: It mean one form, many uses. Using Many forms of a single object.
** Run-time: compiler identifies which polymorphism form it has to take and execute at runtime but not at compile time. (Overriding).