Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 20706|Antwort: 0

[Quelle] C# Unterschied zwischen abstrakten Klassen und Schnittstellen

[Link kopieren]
Veröffentlicht am 21.06.2016 11:34:25 | | |
Abstrakte Klassen und Schnittstellen
    Gemeinsamkeiten:
    (1) vererbt werden kann
    (2) nicht instanziiert werden kann
    (3) Methodendeklarationen enthalten können
    (4) Die abgeleitete Klasse muss die nicht implementierte Methode implementieren
    Kategorie:
    (1) Abstrakte Basisklassen können Felder, Eigenschaften und Methodenimplementierungen definieren. Schnittstellen können nur Attribute, Indexierer, Ereignisse und Methodendeklarationen definieren und können keine Felder enthalten.
    (2) Eine abstrakte Klasse ist eine unvollständige Klasse, die weiter verfeinert werden muss, während eine Schnittstelle eine Verhaltensnorm ist. Microsofts benutzerdefinierte Schnittstellen verfügen immer über ein fähiges Feld, das beweist, dass sie Ausdruck des "Ich schaffe das..." sind. ”
    (3) Schnittstellen können mehrfach implementiert werden, und abstrakte Klassen können nur von einer einzelnen Person geerbt werden
    (4) Abstrakte Klassen sind stärker zwischen einer Reihe eng verwandter Klassen definiert, während die meisten Schnittstellen lose verwandte Klassen sind, die alle eine bestimmte Funktion implementieren
    (5) Abstrakte Klassen sind Konzepte, die aus einer Reihe verwandter Objekte abstrahiert wurden, sodass sie die innere Gemeinsamkeit der Dinge widerspiegeln; Eine Schnittstelle ist eine funktionale Konvention, die definiert ist, um externe Aufrufe zu erfüllen, und spiegelt daher die äußeren Eigenschaften von Dingen wider
    (6) Die Schnittstelle besitzt im Grunde keine spezifischen Vererbungsmerkmale, sondern verspricht nur Methoden, die aufgerufen werden können   
    (7) Schnittstellen können zur Unterstützung von Rückrufen verwendet werden, aber die Vererbung besitzt diese Funktion nicht
    (8) Die spezifischen Methoden, die von abstrakten Klassen implementiert werden, sind standardmäßig virtuell, aber die Schnittstellenmethoden in der Klasse, die die Schnittstelle implementieren, sind standardmäßig nicht-virtuell; natürlich kann man sie auch als virtuell deklarieren
    (9) Wenn eine abstrakte Klasse eine Schnittstelle implementiert, kann die Methode in der Schnittstelle als abstrakte Methode auf die abstrakte Klasse abgebildet werden, ohne sie implementieren zu müssen, und die Methode in der Schnittstelle kann in einer Unterklasse der abstrakten Klasse implementiert werden








Vorhergehend:Systemfehler 5 ist aufgetreten. Der Zugang wird verweigert.
Nächster:Der Anbieter 'Microsoft.Jet.OleDb.4.0' ist auf dem lokalen Rechner nicht registriert.
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com