DIFFERENCE BETWEEN AN ABSTRACT CLASS
AND AN INTERFACE:
In C#, an Interface
provides only those public services declared in the interface, whereas an
abstract class provides the public services defined in an abstract
class and
those members that are inherited from the abstract class's base class.
DIFFERENCE BETWEEN AN ABSTRACT CLASS
AND AN INTERFACE:
- An Abstract class doesn't provide full abstraction but an interface does provide full abstraction; i.e. both a declaration and a definition is given in an abstract class but not so in an interface.
- Using
Abstract we cannot achieve multiple inheritance but using an Interface we
can achieve multiple inheritance.
- We
cannot declare a member field in an Interface.
- We
cannot use any access modifier i.e. public, private, protected, internal
etc. because within an interface by default everything is public.
- An
Interface member cannot be defined using the keyword static, virtual,
abstract or sealed.
A) Abstract Class: We cannot
create an object of an abstract class and can call the method of abstract
class with the help of class name only.
using System;
using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication4 { abstract class M1 { public int add(int a, int b) { return (a + b); } } class M2 :M1 { public int mul(int a, int b) { return a * b; } } |
class test {
static void Main(string[] args) { M2 ob = new M2(); int result = ob.add(10, 20); Console.WriteLine("the result is {0}", result); Console.ReadLine(); } } } |
B) An Interface: The syntax of an
Interface looks like this:
interface
{
//Interface member
}
{
//Interface member
}
NOTE:
- An
Interface member cannot contain code bodies.
- Type
definition members are forbidden.
- Properties
are defined in an interface with the help of an access block get and set,
which are permitted for the property.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
interface MyInterface
{
void myMethod();
}
class MyClass : MyInterface
{
public static void Main()
{
MyClass cls = new MyClass();
cls.myMethod();
}
public void myMethod()
{
Console.WriteLine("welcome to MCN IT SOLUTION");
Console.ReadLine();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
interface MyInterface
{
void myMethod();
}
class MyClass : MyInterface
{
public static void Main()
{
MyClass cls = new MyClass();
cls.myMethod();
}
public void myMethod()
{
Console.WriteLine("welcome to MCN IT SOLUTION");
Console.ReadLine();
}
}
}
No comments
Post a Comment