What is abstraction? What are the different ways to achieve abstraction?

  • Abstraction is one of the characteristic features of Object Oriented Programming.
  • Abstraction enforces the rule that a component "exposes only which is required for the context".
  • This ensures a proper layer of view, where the client is provided with access to those features or contents of it which are needed for the moment.
  • In C#, abstraction is achieved in two ways: by the use of abstract classes and interfaces.
  • An abstract class is a class which can't be instantiated but is extended by its sub classes which create different versions of the functionality defined in the abstract class.
  • An interface is like a contract - it only contains a template of how the component would look like, and all its sub classes must implement the same design.
  • Abstract classes are used to create base functionality with a scope for further extension, while interfaces are created to use while interacting with other components without having to use concrete types that contain functionality.

Object Oriented Programming Concepts - Abstraction

  • Abstraction is one of the characteristic features of Object Oriented Programming.
  • Abstraction enforces the rule that a component "exposes only which is required for the context".
  • This ensures a proper layer of view, where the client is provided with access to those features or contents of it which are needed for the moment.
  • In C#, abstraction is achieved in two ways: by the use of abstract classes and interfaces.
  • An abstract class is a class which can’t be instantiated but is extended by its sub classes which create different versions of the functionality defined in the abstract class.
  • An interface is like a contract – it only contains a template of how the component would look like, and all its sub classes must implement the same design.
  • Abstract classes are used to create base functionality with a scope for further extension, while interfaces are created to use while interacting with other components without having to use concrete types that contain functionality.

Object Oriented Programming Concepts – Abstraction

Default image
Sriram Mannava

I'm a full-stack developer and a software enthusiast who likes to play around with cloud and tech stack out of curiosity.

Leave a Reply