c# – The 5 Pillars of Object Oriented Programming

There are 5 concepts of OOP:

  1. Encapsulation
  2. Data Hiding
  3. Specialization
  4. Polymorphism
  5. Division of Responsibility

 

 

Encapsulation

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.

Specialization

This is related to “inheritence”

Polymorphism

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.