Java final-Äquivalenz-Schlüsselwort in C#
In diesem Lernprogramm werden die C# -Schlüsselwörter erläutert, die dem Schlüsselwort final
in Java entsprechen.
Java final
Schlüsselwortäquivalent in C#
Leider gibt es in C# kein Schlüsselwort, das dasselbe tut wie das Schlüsselwort final
in Java. Das Schlüsselwort final
dient unterschiedlichen Zwecken in unterschiedlichen Kontexten. In der Klassenfunktionsdeklaration wird das Schlüsselwort final
verwendet, um eine Vererbung von der Klasse oder eine neue Definition der virtuellen Funktion zu verhindern. Bei der Feldinitialisierung wird mit dem Schlüsselwort final
angegeben, dass der spezifische Feldwert später im Programm nicht mehr geändert werden kann.
Java final
Schlüsselwort in der Klassen- und Funktionsdeklaration
Das Schlüsselwort sealed
in C# entspricht dem Schlüsselwort final
in der Java-Sprache, wenn es für die Klassen- oder Funktionsdeklaration verwendet wird. Das folgende Codebeispiel zeigt uns, wie wir das Schlüsselwort final
in der Klassendeklaration in Java verwenden können.
public final class MyFinalClass {
...
}
Der obige Code verhindert, dass wir die Klasse MyClass
in Java erben. Dieses Ziel kann mit dem Schlüsselwort sealed
in C# erreicht werden. Das folgende Codebeispiel zeigt uns, wie wir das Schlüsselwort sealed
in der Klassendeklaration in C# verwenden können.
public sealed class MySealedClass {
...
}
Der obige Code verhindert, dass wir die Klasse MySealedClass
in C# erben. Das Schlüsselwort final
gibt außerdem an, dass in Java keine Definitionen einer virtuellen Funktion mehr vorhanden sein können. Das folgende Codebeispiel zeigt uns, wie wir das Schlüsselwort final
in der Funktionsdeklaration in Java verwenden können.
public class MyClass {
public final void myFinalFunction() {
...
}
}
Dies hindert uns daran, die virtuelle Funktion myFinalFunction()
in Java weiter zu definieren. Wir können diese Funktionalität mit den Schlüsselwörtern sealed
und override
in C# replizieren. Das folgende Codebeispiel zeigt uns, wie wir das Schlüsselwort sealed
in der Funktionsdeklaration in C# verwenden können.
public class MyChildClass : MyParentClass {
public sealed override void mySealedFunction() {
...
}
}
Der obige Code hindert uns daran, weitere Definitionen der virtuellen Funktion mySealedFunction()
in C# vorzunehmen.
Java final
Schlüsselwort in der Feldinitialisierung
Das Schlüsselwort readonly
in C# entspricht dem Schlüsselwort final
in der Java-Sprache, wenn es für die Feldinitialisierung verwendet wird. Das folgende Codebeispiel zeigt uns, wie wir das Schlüsselwort final
bei der Feldinitialisierung in Java verwenden können.
public final float g = 10;
Dies hindert uns daran, den Wert von g
in Java zu ändern. Dieses Ziel kann mit dem Schlüsselwort readonly
in C# erreicht werden. Das folgende Codebeispiel zeigt uns, wie wir das Schlüsselwort readonly
bei der Feldinitialisierung in C# verwenden können.
public readonly float g = 10;
Dies verhindert, dass wir den Wert von g
in C# ändern.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn