Differenza tra interfaccia e classe

Classe
La classe è un tipo di dati definito dall'utente che consente il raggruppamento di membri di dati, metodi, proprietà ed eventi. Una classe non è altro che un progetto che definisce i dati e il comportamento. Gli oggetti sono istanze di classe. In C #, le classi sono definite usando la parola chiave 'class' seguita dal nome della classe che contiene il corpo di una classe circondata da parentesi graffe. Ogni classe ha un costruttore che ha lo stesso nome della classe e chiamato automaticamente al momento dell'istanza di una classe.

Esempio di una classe in C #

1234567891011121314 using System; namespace MyShapes class Shapes public double length; doppia larghezza pubblica; int calArea () int area = lunghezza * larghezza; .........

Interfaccia
Un'interfaccia contiene solo la firma dei membri: metodi, proprietà, eventi o indicizzatori. Non contiene la definizione di questi membri. Spetta alla classe che sta derivando questa interfaccia per scrivere la definizione di questi membri. È obbligatorio per una classe implementare tutti i membri dell'interfaccia.

Esempio di interfaccia in C #:

1234567891011121314151617181920212223 namespace MyCalculator interface Calculate int add (); int subtract (); class CalculatorImplementer: Calcola ........... int override add () int a = 10, b = 5, c; c = a + b; int override sottrarre ( ) int a = 20, b = 10, c; c = ab; .........

Nell'esempio precedente, la classe CalculatorImplementer implementa il metodo add () e sottrarre () dichiarato nell'interfaccia di calcolo.

Differenza tra interfaccia e classe

  1. Una classe può contenere membri di dati e metodi con la definizione completa. Un'interfaccia contiene l'unica firma dei membri.
  2. Una classe può essere ereditata solo da una singola classe, ma può essere ereditata da più di una interfaccia.
  3. Le interfacce sono sempre implementate mentre le classi sono estese.
  4. Le classi rappresentano il "vero oggetto" e fanno tutto il lavoro. Le interfacce ti permettono di creare un programma che manipolerà la classe in un modo predefinito.
IT