las clases abstractas pueden tener o no implementaciones de los metodos miembros de la clase, y las interfaces no tienen ninguna implementacion solo las declaraciones de los miembros que deben constituir la clase que implemente dicha interfaz.
los miembros de la interfaz deben ser publicos y sin implementacion
Código:
interface iMiInterfaz
{
int Sumar(int Num1, int Num2);
int Multiplicar(int Num1, int Num2);
}
las clases abstractas pueden tener miembros abstractos y no abstractos (es decir sobrecargables en las clases que hereden de ella). pero en las interfaces todos los miembros son implicitamente abstractos, y todos los miembros de la interfaz deben ser reimplementados en la clase que derive de esta.
Código:
abstract class MiClaseAbstracta
{
public int Suma(int Num1, int Num2)
{
return Num1 + Num2;
}
public abstract int Multiplicacion(int Num1, int Num2);
}