Classe astratta
Una classe astratta è una che è intesa solo per essere una classe base di altre classi. Il modificatore "astratto" viene utilizzato per creare un abstract di classe. Un modificatore astratto indica che c'è un'implementazione mancante che deve essere implementata nella classe derivata da esso. La classe astratta può avere membri astratti e non astratti. Una classe astratta dovrebbe avere almeno un metodo astratto, altrimenti non si usa dichiarare quella classe come "astratta".
Esempio di classe astratta in C #:
1234567891011 | classe astratta MyCircle abstract public int Area (); Classe MyArea: MyCircle public override int Area () return side * side; ..... |
Come mostrato nell'esempio precedente, il metodo astratto 'Area' all'interno della classe MyCircle viene sovrascritto nella classe derivata MyArea.
Interfaccia
Un'interfaccia contiene solo la dichiarazione dei membri inclusi metodi, proprietà, eventi o indicizzatori. Non contiene l'implementazione di questi membri. Una classe o una struttura implementa l'interfaccia, deve fornire la definizione dei metodi dichiarati nell'interfaccia. Ciò significa che un'interfaccia fornisce una struttura standard che la classe derivata deve seguire.
Esempio di un'interfaccia in C #:
12345678910111213141516171819202122 | using System.Collections.Generic; using System.Linq; using System.Text; namespace MyName interfaccia pubblica MyData void getdata (); void showdata (); public class NameData: MyData public double getdata () nome stringa; Console.WriteLine ("Immettere il nome:"); name = Console.ReadLine (); public void showdata () Console.WriteLine ("Il mio nome è:", name); |
Come mostrato nell'esempio precedente, l'interfaccia MyData ha due dichiarazioni di metodo getdata () e showdata (). La classe NameData che sta implementando questa interfaccia dovrebbe fornire la definizione dei metodi dichiarati nell'interfaccia MyData.
Differenza tra classe astratta e interfaccia