Kotlin Privater Konstrukteur
Wir können einen primären Konstruktor in der Java-Programmierung als privat
definieren. Wir können dann mit einer öffentlichen
statischen
Methode auf den Konstruktor zugreifen. Aber ist das in Kotlin möglich?
Auch Kotlin erlaubt die Erstellung von privaten
Konstruktoren. Wie? Das werden wir in diesem Artikel sehen.
Kotlin privater
Konstruktor
Konstruktoren sind spezielle Elementfunktionen einer Kotlin-Klasse
. Sie werden aufgerufen, wenn wir ein Objekt erstellen und initialisieren.
Kotlin private
Konstruktoren sind hilfreich, um benutzerdefinierte Einblicke in die Klasse
zu ermöglichen; Es wird auch den primären Konstruktor der Kotlin-Klasse
verbergen. Angenommen, wir möchten eine unerwünschte Objekterstellung für die Speichereffizienz verhindern. Wir können dazu private
Konstrukteure verwenden.
Wir können einen Kotlin-Konstruktor als privat
definieren, indem wir das Zugriffsmodifizierer-Schlüsselwort private
und ein Begleitobjekt verwenden. Klassenmitglieder können auf die privaten
Mitglieder von Begleitobjekten zugreifen.
Die Syntax zum Deklarieren eines Konstruktors als privat lautet:
class class_Name private constructor()
Arbeiten von privaten
Konstrukteuren
private
Konstruktoren arbeiten, indem sie den primären Konstruktor Ihrer Klasse privat
machen. Es hindert andere Klassen daran, Objekte mit dem private
-Konstruktor zu erstellen.
Beim Erstellen eines privaten
Konstruktors verwenden Sie am besten eine statische
Methode. Der Grund ist, dass statische
Methoden ohne Objektinitialisierung ablaufen können.
Jetzt ermöglichen die privaten
Konstruktoren das Erstellen und Initialisieren von Objekten derselben Klasse. Wenn Sie jedoch versuchen, Objekte aus anderen Klassen zu initialisieren, wird ein Fehler ausgegeben.
Vor- und Nachteile von privaten
Konstruktoren
Beginnen wir damit, die Vorteile von privaten
Konstruktoren in Kotlin zu erkunden.
Der erste Vorteil der Verwendung eines privaten
Konstruktors ist die Sicherheit. Da keine anderen Klassen auf die Daten der Klasse private
zugreifen können, ist diese sicher.
Die Speichereffizienz ist auch ein Vorteil der Verwendung von privaten
Konstruktoren, was bedeutet, dass nur eine einzige Instanz erstellt wird. Darüber hinaus kann es auch die automatische Generierung eines Standardkonstruktors verhindern.
Zu den Nachteilen (Cons) kommend, erlauben private
Konstrukteure keine Vererbung. Wenn wir eine private
Konstruktorklasse initialisieren möchten, müssen wir außerdem eine verschachtelte Klasse oder eine statische
Methode verwenden.
Demonstration eines privaten
Kotlin-Konstruktors
Hier ist ein Beispiel, in dem wir die obige Syntax verwenden, um eine Klasse mit einem privaten
Konstruktor zu erstellen.
import exampleClass.Companion.example
class exampleClass private constructor() {
companion object {
fun example() = exampleClass()
}
}
class exampleClass1: Thread() {
public override fun run() {
println("The application is running on ${Thread.currentThread()}")
}
}
class exampleClass2: Runnable {
public override fun run() {
println("Now the application is running on ${Thread.currentThread()}")
}
}
fun main(){
val v1 = example()
println(v1)
val th1 = exampleClass1()
th1.start()
val runnable = exampleClass2()
val th2 = Thread(runnable)
th2.start()
}
Ausgang:
exampleClass@77afea7d
The application is running on Thread[Thread-0,5, main]
Now the application is running on Thread[Thread-1,5, main]
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn