Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 20706|Svar: 0

[Källa] C# Skillnad mellan abstrakta klasser och gränssnitt

[Kopiera länk]
Publicerad på 2016-06-21 11:34:25 | | |
Abstrakta klasser och gränssnitt
    Likheter:
    (1) kan ärvas
    (2) kan inte instansieras
    (3) kan innehålla metoddeklarationer
    (4) Den härledda klassen måste implementera den icke-implementerade metoden
    Kategori:
    (1) Abstrakta basklasser kan definiera fält, egenskaper och metodimplementationer. Gränssnitt kan endast definiera attribut, indexerare, händelser och metoddeklarationer, och kan inte innehålla fält.
    (2) En abstrakt klass är en ofullständig klass som behöver ytterligare förfining, medan ett gränssnitt är en beteendenorm. Microsofts anpassade gränssnitt levereras alltid med ett kapabel fält för att bevisa att de är uttryck för "Jag kan göra det..." ”
    (3) Gränssnitt kan implementeras flera gånger, och abstrakta klasser kan endast ärvas av en enda person
    (4) Abstrakta klasser är mer definierade mellan en serie nära besläktade klasser, medan de flesta gränssnitten är löst relaterade klasser som alla implementerar en viss funktion
    (5) Abstrakta klasser är begrepp abstraherade från en serie relaterade objekt, så de speglar tingens interna gemenskap; Ett gränssnitt är en funktionell konvention definierad för att tillfredsställa externa anrop, så det speglar de yttre egenskaperna hos saker
    (6) Gränssnittet har i princip inga specifika arvsegenskaper, det lovar bara metoder som kan anropas   
    (7) Gränssnitt kan användas för att stödja återkallelser, men arv har inte denna funktion
    (8) De specifika metoder som implementeras av abstrakta klasser är virtuella som standard, men gränssnittsmetoderna i klassen som implementerar gränssnittet är icke-virtuella som standard, naturligtvis kan du också deklarera dem virtuella
    (9) Om en abstrakt klass implementerar ett gränssnitt kan metoden i gränssnittet mappas till den abstrakta klassen som en abstrakt metod utan att behöva implementera den, och metoden i gränssnittet kan implementeras i en underklass av den abstrakta klassen








Föregående:Systemfel 5 har inträffat. Tillträde nekas.
Nästa:Leverantören 'Microsoft.Jet.OleDb.4.0' är inte registrerad på den lokala maskinen.
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com