Abstraction in c# with example LEARNOVITA

Abstraction in C# Tutorial – Learn the Abstract class and Interface

Last updated on 12th Aug 2022, Blog, Tutorials

About author

Yeshwant singh (Html Developer )

Yeshwant Singh is an Html Developer with 6+ years of experience in a reputed company. He has expertise in HTML and CSS, PHP and MySQL, Javascript, and Node JS. He spends most of his time researching technology and startups.

(5.0) | 18178 Ratings 2230

Introduction to Abstraction in C#

Abstraction in C# is that the interaction to hide the inside subtleties and show simply the utility. The Abstraction modifier demonstrates the deficient execution. The phrase Abstraction is used before the category or technique to announce the category or strategy as distinctive.

Abstraction in OOP

Objects in AN OOP language provides an Abstraction that conceals the inner execution subtleties. Just like the coffee machine in your room, you merely have to be compelled to recognize that ways for the item are accessible to decision and that input boundaries are expected to trigger a specific activity. Yet, you don’t get to see however this method is dead and what kinds of activities it has to perform to create the conventional outcome.

We should execute the coffee machine model in Java. you are doing likewise in another item placed in an artificial language. The punctuation is also somewhat distinctive, however, the general plan is a few things similar.

Why is knowing Abstraction significant?

Abstraction assists with concealing substantial code which might be amended with Abstractions, for instance, points of interaction and distinctive categories that are less inclined to vary.Involving Abstraction limits conditions in code, diminished reliance implies decrease the impact of progress in your code.Two of the very important long-term objectives for designers once composing code .Increment the coherence of the code.

Limit conditions in code, decreasing the impacts of progress. The 2 objectives can be maintained with the code less complicated, beneath I remark however Abstraction will assist you with accomplishing those objectives.Junior designers seem to be hesitant to involve Abstraction in code in light-weight of a mix of not seeing however Abstraction s work and since they’re targeted around obtaining the code operating and sidestep the formation of Abstraction ,which might prompt large complicated techniques, not several categories, and no Abstraction.

Getting Abstraction

Abstraction is one in all the very important standards behind an oversized variety of the OO arrange standards, for instance,

  • Legacy
  • Polymorphism
  • Synthesis
  • Advantages of Abstraction
  • Code is simple
  • Oversees amendment and also the impact of amendment
  • Makes firm code – it tracks down traditional fields

Make free coupling

Abstraction refines concepts to their basic beliefs, baring away plans to the necessities of Abstraction thought. It leaves the conventional subtleties of thought. Abstractions build it a lot of clear code since it focuses on center elements/activities and not on the microscopic subtleties. My agreement began to develop whereas perusal these 2 OO arrange rule.

  • Typify what differs
  • Program to interfaces, to not executions.

The different books and articles targeted on the benefits of those 2 arrange standards I began to examine, however Abstraction might reduce conditions and also the result of changes on code, you’ll see I started considering composing this text information activity

How to run Abstraction?

How To Run Abstraction

In the web log entry a way to observe categories, I mentioned a way to observe categories, perceptive Abstraction s may be a comparative exercise. traditional Abstraction square measure Things – things, people, frameworks.

  • Action words
  • Types
  • Practices
  • Is A – Inheritance
  • Has A – Behaviors

Activities/Verbs square measure frequently Abstraction for instance Drawing, approving, handling, steering. But once I notice varieties, I’m alluding to them. Abstraction squares measure valuable throughout lifestyle. people use Abstraction perpetually, you frequently notice.

  • PCs
  • Seats
  • Individuals
  • Vehicles

You don’t discuss the actual quiet vehicle but say the vehicle overall and people can comprehend what you’re concerning. an identical thought may be utilized in your code. you’ll observe a typical activity like approving, drawing, Updating, exemptions. The traditional activities are going to be the purpose of interaction and therefore the substantial categories will take cowl behind it.Exemptions square measure a real model you have got a middle exemption (the ones lethargic software system engineers toss after they would rather not indicate the precise blunder) and subsequently clear exemptions broaden it. The exemption is that the Abstraction and InvalidPluginExecutionException, NullReferenceException, then on square measure the completing substantial categories.


I had some codes wherever that was departing on the distinction in state associate degreed relying upon specific qualities. It’d go an alternate course, there have been plenty of numerous courses.The Abstraction was Route, I created this association purpose and it absolutely was then allotted by numerous Routes through the framework. forward the shoppers required a lot of courses the code was created to represent what fluctuates.A large portion of the code utilized the purpose of interaction Route, any progressions by adding a lot of courses would mean the code that utilized the association purpose would have to be compelled to modify or be tormented by the modification.

Why Abstraction s square measure thus important

Abstractions assist with creating well-rounded planned code.The code is easy since, in such a case that you simply have caught the proper Abstraction s is evident the issue the code is doing.Abstractions assist with creating loosely coupled code. The reason is that the Abstraction behaves sort of and embodies the attainable changes behind the Abstraction class/interface.To comprehend the explanation why this is often vital you would like to grasp the assertion.

Code to an association purpose, not a considerable category.An exemplary Abstraction is creating a knowledge set layer, an Abstraction category, or association purpose for what parts of the code shoppers to interface with the information base. The Abstraction limits the impacts of progress as a result of the code that connects with the purpose of interaction won’t be tormented by the execution/substantial category evolving. It to boot permits the code to vary soon and a lot of kinds to be side.Adding a lot of kinds won’t impact any code that connects simply with the purpose of interaction.This brings Maine pleasure to the arrange rule

Embody what differs

Business rules or calculations square measure a real model.At the purpose after you have conduct or kind, you have got associate degree Abstraction.Utilizing an Abstraction category can wear down the impacts of progress associate degreed create an imprecisely coupled framework that may wear down the impact of progress.Understanding Abstraction can take time

  • Abstractions are utilized wherever because they make life more straightforward:
  • Normal language
  • S.O.L.I.D standards
  • Configuration Patterns
  • Plan Principles

Once I learned what it meant to “encapsulate what differs” and “code to a connection point,” I was finally able to see how Abstraction simplified the process of arranging code and reducing conditions, and how Abstraction s through distinct classes and connection points mitigated the fallout of technological progress.Change can echo through ineffectively planned code because inadequately planned code is delicate, you change one piece of it and an inconsequential piece of the code abruptly breaks. The justification for this abrupt breaking is reliance.

Abstractions (interfaces/Abstract classes) lessens conditions and the Abstraction goes about as a hindrance to reliance and change. My interest in Abstraction progressed to a new level when I wrote the blog post “How to observe classes,” where I detailed how the strategy of searching for and viewing classes through objects and types facilitated my recognition of Abstraction.Focusing on design samples and high-quality code will help you learn how Abstraction s are used in cutting-edge programmes. The two books listed below are excellent resources for learning about configuration design, however I recommend starting with Head First Design Patterns due to its accessibility and simplicity.

Abstraction Classes and Methods

Abstraction Classes and Methods

Data Abstraction is the method involved with concealing specific subtleties and showing just fundamental data to the client. Abstraction can be accomplished with either Abstract classes or points of interaction (which you will study in the following part). The Abstraction watchword is utilized for classes and strategies:

  • Abstraction class: is a limited class that can’t be utilized to make objects (to get to it, it should be acquired from another class).
  • Abstract strategy: must be utilized in an Abstraction class, and it doesn’t have a body. The body is given by the inferred class (acquired from).
  • A Abstraction class can have both unique and normal techniques:
  • Abstraction class Animal
  • {
  • public Abstract void animalSound();
  • public void rest()
  • {
  • Console.WriteLine(“Zzz”);
  • }
  • }

From the model above, it is unimaginable to expect to make an object of the Animal class:Creature myObj = new Animal();//Will produce a mistake (Cannot make an occasion of the Abstraction class or point of interaction ‘Creature’).To get to the Abstraction class, it should be acquired from another class. How about we convert the Animal class we utilized in the Polymorphism part to an Abstraction class.


The word Abstraction means an idea or a thought not related to a particular case.In C# programming, we apply a similar significance of Abstraction by making classes not related to a particular example. Abstraction is required when we want to just acquire from a specific class, however we don’t have to launch objects of that class. In such a case the base class can be viewed as “Fragmented”. Such classes are known as “Abstraction Base Class”.

Abstract Base category

There square measure some important focuses regarding Abstract Base Class:An Abstract Base category can’t be launched; it implies the thing of that category can’t be created.The class having the Abstraction catch phrase with some of its ways (not everything) is thought as Associate in Nursing Abstract Base category.The class having the Abstract watchword with every of its ways is thought as Associate in Nursing pure Abstract Base category.The strategy for the Abstraction category that has no execution is thought as “activity”. It o.k. is also characterized as a Abstraction void technique ();An Abstraction category holds the ways nevertheless the real execution of these techniques is formed in the inferred category.We should examine this code

  • conceptual category creature abstract void eat();
  • public void sound() will sound”);
  • }
  • }

This is the Abstract Base category, on the off likelihood that I build each of its techniques Abstract, this category would change into Associate in Nursing pure Abstract Base category.Presently, we have a tendency to verify a category of ‘canine’ from the category creature.

  • Abstract category creature {
  • public Abstract void eat();
  • public void sound() will sound”);
  • }
  • }
  • class canine: creature supervene upon void eat() will eat”);
  • }
  • }

Here you’ll see we’ve got a pair of ways within the Abstract Base category, the technique eat() has no execution; thereto finish, it’s being declared as ‘unique’ whereas the strategy thereforeund() has its own body so it isn’t pronounced as ‘Abstract’.

C# Abstract category

In c#, an Abstraction category may be a category that’s pronounced with an Abstraction modifier. If we have a tendency to characterize a category with an abstract modifier, that category is planned unambiguously to be utilized as a base category for various categories.The Abstraction category can’t launch, and it will contain each distinctive and non-Abstract person. {the category|the category} that’s gotten from the Abstraction class ought to do all of the non inheritable distinctive techniques and accessors.In c#, you’ll characterize an Abstraction category by utilizing Abstract watchwords. Following is the case of characterizing an Abstraction category utilizing abstract catchphrases.

Abstract category data

If you notice the on top of code bit, we have a tendency to characterise an Abstraction category (Info) utilizing a singular catch phrase with GetDetails strategy signature.

C# Abstract category options

Planning next square measure important highlights of Abstraction category in c# programming language.In c#Abstract categories can’t be launched.The Abstraction categories will contain each Abstract and non-conceptual ways and accessors. In c#, we have a tendency to ought to not utilize mounted|a hard and fast|A set} watchword with an abstract category as a result of the fixed catch phrase can build a category not heritable, however a singular modifier needs a category to be non inheritable .A category that’s gotten from an Abstraction class ought to incorporate all of the executions of non inheritable distinctive techniques and accessors.

C# Abstract methodology

In c#The Abstraction technique may be a strategy that’s declared with an Abstraction modifier. On the off chance that we have a tendency to characterize a method with an Abstract modifier, that strategy doesn’t contain any execution, and technique assertion closes with a punctuation.Following is that the case of characterizing a Abstraction technique within the c# programming language.

  • public Abstract void GetDetails();

The Abstraction techniques in c# square measure allowed to proclaim simply in distinctive categories, and therefore the category that’s gotten from a Abstraction category ought to provide execution to characterized abstract ways.

C# Abstract methodology options

C Abstract Methodology Options

Coming up next square measure the numerous highlights of the Abstraction technique within the c# programming language. In c#, distinctive ways square measure allowed to announce simply within Abstraction categories.The Abstraction technique assertion won’t contain any execution; simply the inferred categories can provide a real execution to digest ways.In c#Abstraction techniques square measure within treated as virtual ways, in order that they ought to be abrogated within the determined category.We ought to not utilize static or virtual modifiers throughout the Abstraction strategy statement.In c#distinctive properties can act such as digest ways, however, the most distinction may be a statement and summons language structure.

Different Abstraction levels within an analogous category

In this model, I created the Abstraction one stride additional and dead three techniques to brew the assorted styles of java. The brew low technique, that gets known as by the client, merely assesses the given CoffeeSelection and calls another strategy that mixes the preset variety of java. The brew filter low and brew java ways distinctive the actual tasks required to mix the java.


l shut here by speech communication that Abstraction is certifiably not a difficult task to require care of, nevertheless you ought to make sure whereas performing arts Abstraction. Every new purpose covers all of the past themes. In Abstraction , polymorphism is roofed and performed. The technique abrogating ought to be attainable by swinging the watchword ‘new’ before that outmoded strategy. The sky is that the limit in Programming and there square measure various ways in which of creating a solitary showing. Abstraction is one of the good ways of doing this type of trip.

Are you looking training with Right Jobs?

Contact Us

Popular Courses