Ich habe zwei Klassen A & amp; B, wobei B von A abgeleitet ist.
Beide Klassen haben eine Methode mit derselben Signatur. Sie werden auf folgende Weise in Java & amp; c # - & gt;
Im Falle von JAVA:
%Vor%Dieses Programm erzeugt folgende Ausgabe: -
%Vor%Im Falle von C #:
%Vor%Dieses Programm erzeugt folgende Ausgabe: -
%Vor% In Java sind die Methoden standardmäßig virtual
.
In C # sind Methoden standardmäßig nicht virtual
.
Damit sich der C # -Code genauso verhält wie der Java-Code, müssen Sie die Methode virtual
in der Basisklasse und override
in der abgeleiteten Klasse erstellen.
Oder, damit sich der Java-Code wie der C # -Code verhält, machen Sie die Methode final
in der Basisklasse.
Diese Zeile:
%Vor%Ich denke hier, in C # haben Sie ein Beispiel für das Verstecken von Methoden. Vielleicht müssen Sie die Methode explizit als überschrieben deklarieren (zum Beispiel in Java mit der Annotation @Override).