Differences between Interface and Abstract Class?
Interfaces :
--An interface is not a class.--It is an entity that is defined by the word Interface.
--An interface has no implementation;
--it only has the signature or in other words, just the definition of the methods without the body. As one of the similarities to Abstract class
____________________________________
Public Interface ImyInterface
{
String Method1();
int Method2();
}
Public Class myClass :ImyInterface
{
string Method1()
{
//Code
}
int Method2()
{
//Code
}
}
____________________________________________________________________________
---Requires more time to find the actual method in the corresponding classes. (Slow )
The main difference between them is that a class can implement more than one interface but can only inherit from one abstract class. Since C# doesn't support multiple inheritance, interfaces are used to implement multiple inheritance
Abstract Class:
These Classes Cannot be instantiated, ---These are used if additional functionality is needed in derived classes,
---These Implemented partially or No Implementation
--Fast In Operation
____________________________________________________________
abstract class MyAbstractClass
{
public MyAbstractClass()
{
// Code to initialize the class goes here.
}
abstract public void Method1();
abstract public void Method2(int A);
abstract public long Method3(int B);
}
class MyClass : MyAbstractClass
{
public MyClass ()
{
// Initialization code goes here.
}
override public void Method1()
{
// code goes here.
}
override public void Method2(int A)
{
// code goes here.
}
override public long Method3(int B)
{
//code goes here.
}
}
No comments:
Post a Comment