Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 20706|Antwoord: 0

[Bron] C# Verschil tussen abstracte klassen en interfaces

[Link kopiëren]
Geplaatst op 21-06-2016 11:34:25 | | |
Abstracte klassen en interfaces
    Overeenkomsten:
    (1) kan worden geërfd
    (2) niet kan worden geïnstantieerd
    (3) methodeverklaringen kan bevatten
    (4) De afgeleide klasse moet de niet-geïmplementeerde methode implementeren
    Categorie:
    (1) Abstracte basisklassen kunnen velden, eigenschappen en methode-implementaties definiëren. Interfaces kunnen alleen attributen, indexers, gebeurtenissen en methodeverklaringen definiëren en kunnen geen velden bevatten.
    (2) Een abstracte klasse is een onvolledige klasse die verdere verfijning behoeft, terwijl een interface een gedragsnorm is. Microsofts aangepaste interfaces worden altijd geleverd met een geschikt veld om te bewijzen dat ze uitingen zijn van de "Ik kan het..." ”
    (3) Interfaces kunnen meerdere keren worden geïmplementeerd, en abstracte klassen kunnen slechts door één persoon worden geërfd
    (4) Abstracte klassen zijn meer gedefinieerd tussen een reeks nauw verwante klassen, terwijl de meeste interfaces losjes verwante klassen zijn die allemaal een bepaalde functie implementeren
    (5) Abstracte klassen zijn concepten die zijn geabstraheerd uit een reeks verwante objecten, zodat ze de interne gemeenschappelijkheid van dingen weerspiegelen; Een interface is een functionele conventie die is gedefinieerd om externe aanroepen te voldoen, dus het weerspiegelt de externe kenmerken van dingen
    (6) De interface heeft in feite geen specifieke kenmerken van overerving, het belooft alleen methoden die kunnen worden aangeroepen   
    (7) Interfaces kunnen worden gebruikt om callbacks te ondersteunen, maar overerving heeft deze functie niet
    (8) De specifieke methoden die door abstracte klassen worden geïmplementeerd zijn standaard virtueel, maar de interfacemethoden in de klasse die de interface implementeren zijn standaard niet-virtueel; natuurlijk kun je ze ook virtueel verklaren
    (9) Als een abstracte klasse een interface implementeert, kan de methode in de interface worden toegewezen aan de abstracte klasse als een abstracte methode zonder dat deze geïmplementeerd hoeft te worden, en kan de methode in de interface worden geïmplementeerd in een subklasse van de abstracte klasse








Vorig:Systeemfout 5 is opgetreden. Toegang wordt geweigerd.
Volgend:De provider 'Microsoft.Jet.OleDb.4.0' is niet geregistreerd op de lokale machine.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com