Abstrakt klass
En abstrakt klass är en som endast är avsedd att vara en grundklass i andra klasser. Den "abstrakta" modifieraren används för att göra en klass abstrakt. En abstrakt modifier indikerar att det finns en saknad implementering som behöver genomföras i den klass som härrör från den. Den abstrakta klassen kan ha abstrakta och icke abstrakta medlemmar. En abstrakt klass bör ha minst en abstrakt metod, annars är det inte användbar att förklara den klassen som "abstrakt".
Exempel på abstrakt klass i C #:
1234567891011 | abstrakt klass MyCircle abstrakt public int Area (); Klass MyArea: MyCircle public override int Område () retur sida * sida; ..... |
Som visat i ovanstående exempel är den abstrakta metoden "Area" inuti MyCircle-klassen störd i den härledda klassen MyArea.
Gränssnitt
Ett gränssnitt innehåller endast deklarationen av medlemmar inklusive metoder, egenskaper, händelser eller indexers. Det innehåller inte genomförandet av dessa medlemmar. En klass eller struktur implementerar gränssnittet, måste ge definitionen av metoder som deklareras i gränssnittet. Det betyder att ett gränssnitt ger en standardstruktur som den härledda klassen behöver följa.
Exempel på ett gränssnitt i C #:
12345678910111213141516171819202122 | använder System.Collections.Generic; använder System.Linq; använder System.Text; namespace MyName public interface MyData void getdata (); tomgångsdata (); public class NameData: MyData public double getdata () strängnamn; Console.WriteLine ("Ange namnet:"); name = Console.ReadLine (); public void showdata () Console.WriteLine ("Mitt namn är:", namn); |
Som visas i ovanstående exempel har gränssnittet MyData två metoddeklaration getdata () och showdata (). Klassen NameData som implementerar detta gränssnitt bör ge definitionen av metoder som deklareras i MyData-gränssnittet.
Skillnad mellan abstraktklass och gränssnitt