-
Wie heißt der implizite Parameter, der an die Set-Methode einer Eigenschaft übergeben wird?
Wert, dessen Typ mit dem deklarierten Typ der Eigenschaft übereinstimmt.
Wie implementiert man Vererbung in C#?
Fügen Sie nach dem Klassennamen einen Doppelpunkt hinzu, gefolgt vom Namen der Basisklasse.
Unterstützt C# Mehrfachvererbung?
Nicht unterstützt. Dies kann über Schnittstellen erreicht werden.
Wo kann auf geschützte Eigenschaften/Methoden zugegriffen werden?
Der Zugriff kann durch Vererbung oder indirekte Vererbung und Unterklassen dieser Klasse erfolgen.
Werden private Mitglieder vererbt?
Ja, aber es kann nicht darauf zugegriffen werden. Es scheint also, dass sie nicht vererbt werden können, aber tatsächlich sind sie vererbt. (Meiner Meinung nach erbt eine Unterklasse alles von der übergeordneten Klasse. <Denken in JAVA> besagt, dass das Unterklassenobjekt eine vollständige Kopie des übergeordneten Klassenobjekts hat. Das Instanziieren einer Klasse wird von der Oberklasse der obersten Ebene instanziiert, ist eine Schicht- Die Methode des privaten eingeschränkten Zugriffs kann nur innerhalb der Klasse erfolgen. Dies ist nur eine Zugriffskontrolle. Tatsächlich besitzt das Unterklassenobjekt alles.
Bitte beschreiben Sie den Modifikator protected internal.
Auf Eigenschaften/Methoden, die durch protected internal geändert wurden, können nur ihre Unterklassen in derselben Assembly (Assembly) zugreifen.
C# stellt einen standardmäßigen Konstruktor ohne Parameter bereit. Wenn ich einen anderen Konstruktor mit einem Parameter implementieren möchte, möchte ich diesen Konstruktor ohne Parameter beibehalten. Wie viele Konstruktoren sollte ich auf diese Weise schreiben?
Zweitens stellt C# nach der Implementierung eines Konstruktors keinen Standardkonstruktor mehr bereit, sodass Sie den Konstruktor ohne Parameter manuell implementieren müssen.
Welche Basisklasse haben alle Objekte in C# gemeinsam?
System.Object.
Was ist der Unterschied zwischen Überladen und Überschreiben?
Überladen ermöglicht die Implementierung des Aufrufs einer Methodensignatur mit unterschiedlichen Parametern. Durch Überschreiben wird eine Implementierung in einer Unterklasse bereitgestellt, die das Verhalten einer übergeordneten Klassenmethode ändert.
Was bedeutet virtuell in einer Methodendefinition?
Durch Virtual geänderte Methoden können von Unterklassen überschrieben werden.
Können nicht statische Methoden in statische Methoden überschrieben werden?
Nein, die Signatur der überschreibenden Methode muss mit der Signatur der überschriebenen Methode übereinstimmen, außer beim Ändern von „virtual“ in „override“.
Können private virtuelle Methoden überschrieben werden?
Nein, auch auf private Methoden in der übergeordneten Klasse kann in der Unterklasse nicht zugegriffen werden.
Kann verhindert werden, dass eine Klasse von anderen Klassen geerbt wird?
Ja, verwenden Sie das Schlüsselwort versiegelt.
Ist es möglich, die Vererbung einer bestimmten Klasse zuzulassen, das Überschreiben einer bestimmten Methode darin jedoch nicht?
Ja, markieren Sie diese Klasse als öffentlich und diese Methode als versiegelt.
Was ist eine abstrakte Klasse?
Eine Klasse, die nicht instanziiert werden kann. Abstrakte Klassen enthalten im Allgemeinen abstrakte Methoden, können aber natürlich auch konkrete Implementierungen haben. Eine geerbte Klasse kann erst instanziiert werden, nachdem sie alle abstrakten Methoden der abstrakten Klasse implementiert hat.
Wann muss eine Klasse als abstrakt deklariert werden?
Wenn diese Klasse abstrakte Methoden enthält oder wenn die Klasse die abstrakten Methoden der übergeordneten Klasse nicht vollständig implementiert.
Was ist eine Schnittstelle?
Klassen, die nur öffentliche abstrakte Methoden enthalten. Diese Methoden müssen in Unterklassen implementiert werden.
Warum kann ich in einer Schnittstelle keine Modifikatoren für Methoden angeben?
Die Methoden in der Schnittstelle werden verwendet, um den Vertrag für die Kommunikation zwischen Objekten zu definieren. Es ist sinnlos, die Methoden in der Schnittstelle als privat oder geschützt anzugeben. Sie verwenden standardmäßig öffentliche Methoden.
Kann ich mehrere Schnittstellen erben?
sicherlich.
Was passiert also, wenn diese Schnittstellen doppelte Methodennamen enthalten?
In diesem Fall können Sie entscheiden, wie Sie es umsetzen. Natürlich muss man sehr vorsichtig sein. Es gibt jedoch kein Problem beim Kompilieren.
Was ist der Unterschied zwischen Schnittstelle und abstrakter Klasse?
Alle Methoden in einer Schnittstelle müssen abstrakt sein und Methodenzugriffsmodifikatoren können nicht angegeben werden. Abstrakte Klassen können Methodenimplementierungen haben und auch Zugriffsmodifikatoren für Methoden angeben.
Wie unterscheidet man überladene Methoden?
Unterschiedliche Parametertypen, unterschiedliche Parameternummern und unterschiedliche Parameterreihenfolgen.
Was ist der Unterschied zwischen const und readonly?
Das Schlüsselwort const wird zum Deklarieren von Konstanten zur Kompilierungszeit und readonly zum Deklarieren von Konstanten zur Laufzeit verwendet.
Was ist der Unterschied zwischen System.String und System.StringBuilder?
System.String ist eine unveränderliche Zeichenfolge. System.StringBuilder speichert eine variable Zeichenfolge und stellt einige Methoden zum Ändern dieser Zeichenfolge bereit.
Dieser Artikel stammt aus dem CSDN-Blog. Bitte geben Sie beim Nachdruck die Quelle an: http://blog.csdn.net/thy822/archive/2009/12/23/5060689.aspx
-