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

Ram
Ram

I'm a full-stack developer and a software enthusiast who likes to play around with cloud and tech stack out of curiosity. You can connect with me on Medium, Twitter or LinkedIn.

Privacy Overview
Referbruv

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

3rd Party Cookies

This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.

Keeping this cookie enabled helps us to improve our website.