Feature
|
Interface
|
Abstract Class
|
Definition
|
An interface
cannot provide any code, just the signature.
|
An abstract class
can provide complete, default code and/or just the details that have to be
overridden.
|
Access Modifiers
|
Everything Public
|
Can have public,
private, internal for any method ,
function.
|
Adding
functionality (Versioning)
|
If we add a new
method to an Interface then we have to track down all the implementations of
the interface and define implementation for the new method.
|
If we add a new
method to an abstract class then we have the option of providing default
implementation and therefore all the existing code might work properly.
|
When to use
|
If various
implementations only share method signatures then it is better to use
Interfaces.
|
If various
implementations are of the same kind and use common behavior or status then
abstract class is better to use.
|
Multiple
inheritance
|
A class may
inherit several interfaces.
|
A class may
inherit only one abstract class.
|
This blog contains .net related contents like Azure, SharePoint,.NET architecture,C#, ASP.NET, SQL Server etc
Tuesday, April 2, 2019
Interface vs Abstract Class in C#
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment