What is the difference between interface and abstract class ?

Answers were Sorted based on User's Feedback



What is the difference between interface and abstract class ?..

Answer / susanta ghosh

What is an Abstract Class?
An abstract class is a special kind of class that cannot be
instantiated. So the question is why we need a class that
cannot be instantiated? An abstract class is only to be sub-
classed (inherited from). In other words, it only allows
other classes to inherit from it but cannot be
instantiated. The advantage is that it enforces certain
hierarchies for all the subclasses. In simple words, it is
a kind of contract that forces all the subclasses to carry
on the same hierarchies or standards.

What is an Interface?
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, it is a
contract that is used to define hierarchies for all
subclasses or it defines specific set of methods and their
arguments. 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.

Both Together
When we create an interface, we are basically creating a
set of methods without any implementation that must be
overridden by the implemented classes. The advantage is
that it provides a way for a class to be a part of two
classes: one from inheritance hierarchy and one from the
interface.

When we create an abstract class, we are creating a base
class that might have one or more completed methods but at
least one or more methods are left uncompleted and declared
abstract. If all the methods of an abstract class are
uncompleted then it is same as an interface. The purpose of
an abstract class is to provide a base class definition for
how a set of derived classes will work and then allow the
programmers to fill the implementation in the derived
classes.

Is This Answer Correct ?    25 Yes 1 No

What is the difference between interface and abstract class ?..

Answer / chetan dubey

In c#.net there are basic differences:-
(1)In interface ,we cannot define an datafield while
datafield is declare in abstract class.
(2)Interface can be declared by using the keyword
interface,and abstract can declared by using the abstract
keyword.
(3)we can declare only function prototype which can be
define in inherited class but In abstract class,there is
minimum one abstract method and we define other method also.

Is This Answer Correct ?    1 Yes 1 No

Post New Answer

More C Sharp Interview Questions

What language is c# similar to?

0 Answers  


Explain a MSIL ? Why is it appreciated by all developers?

0 Answers   Siebel,


What are collection classes?

0 Answers  


From a versioning perspective, what are the drawbacks of extending an interface as opposed to extending a class?

0 Answers  


How is exception handling implemented in c#?

0 Answers  






Which function is the entry point for a DLL in MS Windows 3.1?

0 Answers   3i Infotech,


What is the default modifier for class in c#?

0 Answers  


In dynamic link library, which api is used for load library?

0 Answers   C DAC,


How to run the program at particular time? It should run everyday at 3:00 PM. After executing the program should sleep until next day at 3:00 PM. Please explain with code?

5 Answers   Sanat, Wipro,


How do I unload an assembly?

0 Answers  


how background thread access to ui control?

0 Answers   HCL,


What is multithreading? What are the problems that comes with multithreading and how to manage them?

0 Answers   MCN Solutions,


Categories