Abstracte klasse
Een abstracte klasse is er een die alleen bedoeld is om een basisklasse van andere klassen te zijn. De 'abstracte' modifier wordt gebruikt om een klassen abstract te maken. Een abstracte wijziging geeft aan dat er een ontbrekende implementatie is die moet worden geïmplementeerd in de klasse die hieruit is afgeleid. De abstracte klasse kan een abstract en niet-abstract lid hebben. Een abstracte klasse zou op zijn minst één abstracte methode moeten hebben, anders heeft het geen zin om die klasse als 'abstract' aan te duiden.
Voorbeeld van abstracte klasse in C #:
1234567891011 | abstracte klasse MyCircle abstract public int Area (); Class MyArea: MyCircle public override int Area () return side * side; ..... |
Zoals in het bovenstaande voorbeeld wordt getoond, wordt de abstracte methode 'Area' in de MyCircle-klasse overschreven in de afgeleide klasse MyArea.
Interface
Een interface bevat alleen de declaratie van leden, inclusief methoden, eigenschappen, gebeurtenissen of indexeerders. Het bevat niet de implementatie van deze leden. Een klasse of struct implementeert de interface, moet de definitie leveren van methoden die in de interface zijn gedeclareerd. Dat betekent dat een interface een standaardstructuur biedt die de afgeleide klasse moet volgen.
Voorbeeld van een interface in C #:
12345678910111213141516171819202122 | using System.Collections.Generic; using System.Linq; using System.Text; namespace MyName public interface MyData void getdata (); void showdata (); public class NameData: MyData public double getdata () string name; Console.WriteLine ("Voer de naam in:"); name = Console.ReadLine (); public void showdata () Console.WriteLine ("Mijn naam is:", naam); |
Zoals in het bovenstaande voorbeeld te zien is, heeft de interface MyData twee getaltaangiften getdata () en showdata (). De klasse NameData die deze interface implementeert, moet de definitie geven van methoden die zijn gedeclareerd in de MyData-interface.
Verschil tussen abstracte klasse en interface