Diferencia entre la interfaz y la clase

Clase
La clase es un tipo de datos definido por el usuario que permite agrupar miembros de datos, métodos, propiedades y eventos. Una clase no es más que un plan que define los datos y el comportamiento. Los objetos son instancias de clase. En C #, las clases se definen utilizando la palabra clave 'clase' seguida del nombre de la clase que contiene el cuerpo de una clase rodeada por llaves. Cada clase tiene un constructor que tiene el mismo nombre que la clase y se llama automáticamente en el momento de crear una instancia de una clase..

Ejemplo de una clase en C #

1234567891011121314 usando System; namespace MyShapes class Shapes public double length; doble amplitud pública; int calArea () int area = length * wide; .........

Interfaz
Una interfaz contiene solo la firma de los miembros: métodos, propiedades, eventos o indizadores. No contiene la definición de estos miembros. Depende de la clase que deriva esta interfaz escribir la definición de estos miembros. Es obligatorio para una clase implementar todos los miembros de la interfaz..

Ejemplo de interfaz en C #:

1234567891011121314151617181920212223 espacio de nombres MyCalculator interface Calculate int add (); int restar (); clase CalculatorImplementer: Calcular ........... int sobrescribir add) (int a = 10, b = 5, c; c = a + b; ) int a = 20, b = 10, c; c = ab; .........

En el ejemplo anterior, la clase CalculatorImplementer está implementando el método add () y restar () declarado en la interfaz de Calcular.

Diferencia entre la interfaz y la clase

  1. Una clase puede contener miembros de datos y métodos con la definición completa. Una interfaz contiene la única firma de los miembros..
  2. Una clase solo puede heredarse de una sola clase, pero puede heredarse de más de una interfaz.
  3. Las interfaces siempre se implementan mientras que las clases se extienden..
  4. Las clases representan el "objeto real" y hacen todo el trabajo. Las interfaces le permiten crear un programa que manipulará la clase de una manera predefinida.
ESO