Abstraction in C# Tutorial - Learn the Abstract class and Interface
Abstraction in C# tutorial ACTE

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

Last updated on 27th Jan 2022, Blog, Tutorials

About author

Deji saman (Html Developer )

Deji saman is a Html Developer with 6+ years of experience in the reputed Company. He has expertise in HTML & CSS, PHP & MySQL, Javascript, Node JS, Angular JS, MEAN Stack, FULL Stack, React Js, Bootstrap

(5.0) | 18751 Ratings 1802
    • Introduction to Abstraction in C#
    • Abstraction in OOP
    • Getting Abstraction
    • How to track down Abstraction?
    • Why Abstraction s are so significant
    • Understanding Abstraction can take time
    • Abstraction Classes and Methods
    • Abstract Base Class
    • C# Abstract Class
    • C# Abstract Class Features
    • C# Abstract Method
    • C# Abstract Method Features
    • Different Abstraction levels inside a similar class
    • Conclusion

    Subscribe For Free Demo


      Introduction to Abstraction in C#

      Abstraction in C# is the interaction to conceal the interior subtleties and show just the usefulness. The Abstraction modifier demonstrates the deficient execution. The catchphrase Abstraction is utilized before the class or technique to announce the class or strategy as unique.

      Abstraction in OOP

    • Objects in an OOP language give a Abstraction that conceals the inner execution subtleties. Like the espresso machine in your kitchen, you simply need to know which strategies for the item are accessible to call and which input boundaries are expected to trigger a particular activity. Yet, you don’t have to see how this technique is executed and which sorts of activities it needs to perform to make the normal outcome.

    • We should execute the espresso machine model in Java. You do likewise in some other item situated programming language. The punctuation may be somewhat unique, however, the overall idea is something similar.

    • Why is understanding Abstraction significant?

      Abstraction assist with concealing substantial code which can change with Abstraction s, for example, points of interaction and unique classes which are less inclined to change.

      Involving Abstraction limits conditions in code, decreased reliance implies lessening the impact of progress in your code.

    • Two of the vital long haul objectives for designers when composing code
    • Increment the coherence of the code

    • Limit conditions in code, diminishing the impacts of progress. The two objectives will make keeping up with the code simpler, underneath I talk about how Abstraction can assist you with accomplishing those objectives.

      Junior designers appear to be hesitant to involve Abstraction in code in light of a combination of not seeing how Abstraction s work and because they are centered around getting the code working and sidestep the formation of Abstraction , which can prompt huge complex techniques, not many classes, and no Abstraction.

      Getting Abstraction

      Abstraction is one of the vital standards behind a large number of the OO plan standards, for example,

    • Legacy
    • Polymorphism
    • Synthesis
    • Advantages of Abstraction
    • Code is straightforward
    • Oversees change and the impact of change
    • Makes firm code – it tracks down normal fields

    • Make free coupling

      bstraction refines ideas to their basic beliefs, stripping away plans to the essentials of Abstraction thought. It leaves the normal subtleties of thought. Abstraction s make it more clear code since it focuses on center elements/activities and not on the little subtleties. My agreement began to develop while perusing these two OO plan rule.

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

    • The different books and articles focused on the advantages of these two plan standards I begin to see how Abstraction could lessen conditions and the effect of changes on code, you can see I began contemplating while composing this article Data Hiding.

      Course Curriculum

      Learn Advanced C and C Plus Plus Certification Training Course to Build Your Skills

      Weekday / Weekend BatchesSee Batch Details

      How to track down Abstraction?

      In the blog entry How to observe classes, I discussed how to observe classes, observing Abstraction s is a comparative exercise. Normal Abstraction are Things – things, individuals, frameworks.

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

    • Activities/Verbs are regularly Abstraction for example Drawing, approving, handling, steering. At the point when I notice types, I am alluding to. Abstraction are valuable throughout everyday life. Individuals use Abstraction constantly, you regularly notice.

    • PCs
    • Seats
    • Individuals
    • Vehicles

    • You don’t discuss the particular kind of vehicle however say vehicle overall and individuals will comprehend what you are referring to. A similar thought can be utilized in your code plan. You can observe a typical activity like approving, drawing, Updating, exemptions. The normal activity will be the point of interaction and the substantial classes can take cover behind it.

      Exemptions are a genuine model you have a center exemption (the ones languid software engineers toss when they would rather not indicate the specific blunder) and afterward unmistakable exemptions broaden it. The exemption is the Abstraction and InvalidPluginExecutionException, NullReferenceException, and so on are the carrying out substantial classes.


    • I had a few codes where which was set off on the difference in state and relying upon specific qualities it would go an alternate course, there were heaps of various courses.

    • The Abstraction was Route, I made this a connection point and it was then carried out by various Routes through the framework. Assuming the clients needed more courses the code was made to epitomize what fluctuates.

    • A large portion of the code utilized the point of interaction Route, any progressions by adding more courses would mean the code which utilized the connection point would have to change or be affected by the change.

    • Why Abstraction s are so significant

    • Abstraction s assist with making all-around planned code.
    • The code is straightforward since, in such a case that you have caught the right Abstraction s is clear the thing the code is doing.
    • Abstraction s assist with making loosely coupled code. The explanation is the Abstraction behaves like a sort and embodies the possible changes behind the Abstraction class/interface.
    • To comprehend the reason why this is important you want to comprehend the assertion

    • Code to a connection point, not a substantial class.

    • An exemplary Abstraction is making a data set layer, a Abstraction class, or connection point what portions of the code clients to interface with the Data base. The Abstraction limits the impacts of progress because the code which connects with the point of interaction won’t be affected by the execution/substantial class evolving. It additionally permits the code to change later on and more sorts to be added.
    • Adding more sorts won’t impact any code which connects just with the point of interaction.
    • This brings me pleasure to the plan rule

    • Embody what differs

    • Business rules or calculations are a genuine model.
    • At the point when you have conduct or type, you have an Abstraction.
    • Utilizing a Abstraction class will deal with the impacts of progress and make an inexactly coupled framework that will deal with the impact of progress.

    • Course Curriculum

      Get JOB Oriented C and C Plus Plus+ Training for Beginners By MNC Experts

      • Instructor-led Sessions
      • Real-life Case Studies
      • Assignments
      Explore Curriculum

      Understanding Abstraction can take time

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

    • It was until I started to comprehend the terms Encapsulate what differs and Code to a connection point that I (gradually) could perceive how Abstraction made it more straightforward to arrange code/lessen conditions and how Abstraction s through unique classes and connection points dealt with the effects of 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.

    • Abstraction s (interfaces/Abstract classes) lessens conditions and the Abstraction goes about as a hindrance to reliance and change. The following phase of my enthusiasm for Abstraction was when composing the blog entry – How to observe classes, the technique for looking and observing classes through things and types made it more straightforward for me to recognize likely Abstraction.

    • Concentrating on plan examples and great code will assist you with comprehension and figure out how incredible code utilizes Abstraction s. The two books beneath are extraordinary books to get everything rolling with configuration designs, my vote goes to Head First Design Patterns since it’s more straightforward, to begin with.

    • 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 a 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 Abstraction 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 a 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 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 Class

      There are a few significant focuses about Abstract Base Class:

    • An Abstract Base class can’t be launched; it implies the object of that class can’t be made.
    • The class having the Abstraction catchphrase with a portion of its strategies (not everything) is known as an Abstract Base Class.
    • The class having the Abstract watchword with each of its strategies is known as an unadulterated Abstract Base Class.
    • The strategy for the Abstraction class that has no execution is known as “activity”. It very well may be characterized as a Abstraction void technique ();
    • A Abstraction class holds the strategies yet the genuine execution of those techniques is made in inferred class.

    • We should examine this code!

      • conceptual class creature {
      • public conceptual void eat();
      • public void sound() {
      • Console.WriteLine(“dog can sound”);
      • }
      • }

      This is the Abstract Base Class, on the off chance that I make both of its techniques Abstract, this class would turn into an unadulterated Abstract Base Class.

      • Presently, we determine a class of ‘canine’ from the class creature.
      • Abstract class creature {
      • public Abstract void eat();
      • public void sound() {
      • Console.WriteLine(“dog can sound”);
      • }
      • }
      • class canine: creature {
      • public supersede void eat() {
      • Console.WriteLine(“dog can eat”);
      • }
      • }

      Here you can see we have 2 strategies in the Abstract Base Class, the technique eat() has no execution; to that end, it is being proclaimed as ‘unique’ while the strategy sound() has its own body so it isn’t pronounced as ‘Abstract’.

      C# Abstract Class

    • In c#, a Abstraction class is a class that is pronounced with a Abstraction modifier. If we characterize a class with a conceptual modifier, that class is planned uniquely to be utilized as a base class for different classes.

    • The Abstraction class can’t launch, and it can contain both unique and non-Abstract individuals. The class that is gotten from the Abstraction class should carry out every one of the acquired unique techniques and accessors.

    • In c#, you can characterize a Abstraction class by utilizing Abstract watchword. Following is the case of characterizing a Abstraction class utilizing conceptual catchphrases.

      • Abstract class Info
      • {
      • Abstract public void GetDetails();
      • }

      If you notice the above code bit, we characterized a Abstraction class (Info) utilizing a unique catchphrase with GetDetails strategy signature.

      C# Abstract Class Features

    • Planning next are significant highlights of Abstraction class in c# programming language.
    • In c#, Abstract classes can’t be launched.
    • The Abstraction classes can contain both Abstract and non-conceptual strategies and accessors.
    • In c#, we ought not to utilize a fixed watchword with a conceptual class because the fixed catchphrase will make a class not inheritable, but rather a unique modifier requires a class to be acquired.
    • A class that is gotten from a Abstraction class should incorporate every one of the executions of acquired unique techniques and accessors.

    • C# Abstract Method

      In c#, the Abstraction technique is a strategy that is proclaimed with a Abstraction modifier. On the off chance that we characterize a technique with a Abstract modifier, that strategy doesn’t contain any execution, and technique assertion closes with a semicolon.

      Following is the case of characterizing a Abstraction technique in the c# programming language.

      • public Abstract void GetDetails();

      The Abstraction techniques in c# are allowed to proclaim just in unique classes, and the class that is gotten from a Abstraction class should give execution to characterized conceptual strategies.

      C# Abstract Method Features

    • Coming up next are the significant highlights of the Abstraction technique in the c# programming language.
    • In c#, unique strategies are allowed to announce just inside Abstraction classes.
    • The Abstraction technique assertion won’t contain any execution; just the inferred classes will give a real execution to digest strategies.
    • In c#, Abstraction techniques are inside treated as virtual strategies, so they should be abrogated in the determined class.
    • We ought not to utilize static or virtual modifiers during the Abstraction strategy statement.
    • In c#, unique properties will act equivalent to digest strategies, however, the main distinction is a statement and summons language structure.

    • Different Abstraction levels inside a similar class

      In this model, I made the Abstraction one stride further and executed 3 techniques to brew the various types of espresso. The brew coffee technique, which gets called by the customer, simply assesses the gave CoffeeSelection and calls one more strategy that mixes the predetermined sort of espresso. The brew filter coffee and brew espresso strategies unique the particular tasks needed to blend the espresso.

      C and C Plus Plus Sample Resumes! Download & Edit, Get Noticed by Top Employers! Download


      l close here by saying that Abstraction is certifiably not a troublesome task to take care of, yet you should be sure while performing Abstraction. Each new point covers every one of the past themes. In Abstraction , polymorphism is covered and performed. The technique abrogating should be possible by putting the watchword ‘new’ before that superseded strategy. The sky is the limit in Programming and there are numerous ways of making a solitary showing. Abstraction is one of the brilliant ways of doing this sort of errand.

    Are you looking training with Right Jobs?

    Contact Us
    Get Training Quote for Free