Definition
Note - Outside the world means when we use reference of object then it
will show only necessary methods and properties and hide methods which
are not necessary.
Implementation of Abstraction
Now lets think in terms of Car rider or a person who is riding a car. So to
drive a car what a car rider should know from above category before he
starts a car driving.
1. Name of Car
2. Color of Car
3. Steering
4. Rear View Mirror
5. Brakes
6. Gear
Unnecessary things means not that compulsory to know for a Car rider
Now above same thing let me put in the coding style using C#
set
_nameofcar = value;
get
return _nameofcar;
_colorofcar = value;
}
get
return _colorofcar;
}
}
Console.WriteLine("Streering of Car");
}
public void Gear()
Console.WriteLine("Gear of Car");
}
private void InternalDetailsofCar()
Console.WriteLine("InternalDetailsofCar of Car");
}
private void ExhaustSystem()
Console.WriteLine("ExhaustSystem of Car");
}
As you can see from above code that necessary methods and properties
exposed by using "public" access modifier and unnecessary methods and
properties (not compulsory) hidden by using "private" access modifier.
class Program
}
}
Conclusion
Friends feel free to ask me any queries on abstraction in c#. Thank you
Abstraction
The word abstract means a concept or an idea not associated with any
specific instance.
The abstraction is done when we need to only inherit from a certain class,
but not need to instantiate objects of that class. In such case the base
class can be regarded as "Incomplete". Such classes are known as an
"Abstract Base Class".
3. Class having Abstract keyword and having abstract keyword with all
of its methods is known as pure Abstract Base Class.
Here you can see we have 2 methods in the Abstract Base Class, the
method eat() has no implementation; that is why it is being declared as
'abstract' while the method sound() has its own body so it is not declared
as 'abstract'.
In the derived class we have the same name method but this method has
it's body.
class program
{
abstract class animal
{
public abstract void eat();
public void sound()
{
Console.WriteLine("dog can sound");
}
}
class dog : animal
{
public override void eat() { Console.WriteLine("dog can eat"); }
}
static void Main(string[] args)
{
dog mydog = new dog();
animal thePet = mydog;
thePet.eat();
mydog.sound();
}
}
animal thePet;
This is an object which is declared as thePet and its data type is the
abstract base class 'animal'.
In the above code we declare an Object 'thePet', of the type animal (the
Abstract Base Class) and simply copied the object of another object (only
the reference is copied as they belong to reference type). Now we can use
object 'thePet' just as object 'mydog'.
The output of this code would be as
Conclusion:
l concludes here by saying that Abstraction is not a difficult job to do, but
you need to be confident while performing abstraction. Our every new
topic covers the all previous topics. In the abstraction the polymorphism is
being covered and performed. The method overriding could be done by
putting the keyword 'new' before that overridden method. Everything is
possible in Programming and there are multiple ways to do a single job.
Abstraction is one of the smart ways to do these kind of tasks.
Note- When derived class inherited with abstract class; derived class
must be override abstract class methods.
Example of Abstraction: -
using System;
using System.Collections.Generic;
using System.Linq;
namespace abstarction
{
}
}
class Program
g.BTech();
g.MBA();
m.BTech();
m.MBA();
Console.ReadLine();
Output-
Explanation :-
From above example we have make one abstract class university and
two abstract methods Btech andMBA. GBTU and MTU both are
override university course fee.