c# – The 5 Pillars of Object Oriented Programming

There are 5 concepts of OOP:


You can find all my latest posts on medium.
  1. Encapsulation
  2. Data Hiding
  3. Specialization
  4. Polymorphism
  5. Division of Responsibility




This means that you can use a class without the need to view the code inside the class. All you have knowledge of the class, are it’s exposed members.

Data Hiding

A class’s internal data is not accessible from outside the class.


This is related to “inheritence”


This is related to “inheritence”

Division of Responsibility

This is to do with the fact that oop is designed to allow a team of people to develop a whole program together. First you design how the program will work in terms of what classes have to be written (along with what methods), then each class is assigned to a team member to develop.