Verwendung der sekundären Konstruktoren in Kotlin

Kailash Vaviya 15 Februar 2024
  1. Die Geschichte sekundärer Konstruktoren in Kotlin
  2. Kotlin-Sekundärkonstruktoren
  3. Erstellen Sie mehrere sekundäre Konstruktoren in Kotlin
  4. Rufen Sie einen sekundären Konstruktor aus einem anderen vorhandenen sekundären Konstruktor auf
  5. Rufen Sie einen sekundären Konstruktor aus der übergeordneten Klasse von einem sekundären Konstruktor in der untergeordneten Klasse auf
Verwendung der sekundären Konstruktoren in Kotlin

Konstruktoren sind Elementfunktionen, die automatisch aufgerufen werden, wenn ein Objekt in einer objektorientierten Programmiersprache erstellt wird.

Da Kotlin eine OOPS-Sprache ist, verwendet es auch Konstruktoren für die Objektinitialisierung. In Kotlin gibt es zwei Konstruktoren: Primäre Konstruktoren und Sekundäre Konstruktoren.

Dieser Artikel stellt das Konzept sekundärer Konstruktoren in Kotlin und ihre Verwendung vor.

Die Geschichte sekundärer Konstruktoren in Kotlin

Die sekundären Konstruktoren wurden in Kotlin bis 2015 nicht unterstützt. Bis dahin verwendeten Entwickler eine der Blow-Techniken, um die meisten Anwendungsfälle für sekundäre Konstruktoren zu lösen.

  1. Definieren einer Factory-Methode neben der Klasse.
  2. Definieren von Standardwerten für Parameter.
  3. Verwenden einer Factory-Methode, die in einem anderen Objekt definiert ist.

Obwohl diese Techniken gut genug waren, bestand ein Bedarf an sekundären Konstruktoren. Kotlin begann mit der Einführung von M11 im Jahr 2015, sekundäre Konstrukteure zu unterstützen.

Kotlin-Sekundärkonstruktoren

Während primäre Konstruktoren eine prägnante Möglichkeit bieten, eine Klasse zu initialisieren, werden die sekundären Konstruktoren notwendig, wenn sie erweitert werden. Darüber hinaus ermöglicht der sekundäre Konstruktor auch das Hinzufügen von Initialisierungslogik.

Während wir in einem Programm nur einen primären Konstruktor haben können, ermöglicht Kotlin die Erstellung mehrerer sekundärer Konstruktoren.

Wir können sekundäre Konstruktoren in Kotlin mit dem Schlüsselwort constructor erstellen und verwenden. Ein Kotlin-Programm kann einen oder mehrere sekundäre Konstruktoren haben.

Sekundäre Konstruktoren werden im Allgemeinen vermieden, aber sie werden verwendet, um eine Klasse zu erweitern. Der Grund dafür ist, dass sie helfen, eine einzelne Klasse auf verschiedene Weise durch mehrere Konstruktoren zu initialisieren.

Syntax:

class ABC {
    constructor(data: String) {
        // code
}

Um die sekundären Konstruktoren besser zu verstehen, sehen wir uns das folgende Beispiel an. Wir erstellen einen sekundären Konstruktor für die Klasse Product, der das Produkt zweier Ganzzahlen ausgibt.

Beispielcode:

fun main(args: Array<String>) {
    Product(3, 7)
}

class Product {
    //Creating a secondary constructor
    constructor(x: Int, y:Int){
        var i = x * y
            println("The product of integers 3 and 7 is: ${i}")
    }
}

Ausgabe:

Erstellen eines sekundären Konstruktors in Kotlin

Erstellen Sie mehrere sekundäre Konstruktoren in Kotlin

Wir können auch mehrere Konstruktoren in Kotlin haben. Welchen der vielen Konstruktoren der Compiler aufruft, wird anhand der übergebenen Argumente entschieden.

Beispielcode:

fun main(args: Array<String>) {
    Student(11035, "David")
    Student(11047,"Steve","New York")
}

class Student {

    constructor (std_id : Int, std_name: String ) {
        var id: Int = std_id
        var name: String = std_name
        print("Student's ID is: $id, ")
        println("Student's Name is: $name")
        println()
    }

    constructor (std_id : Int, std_name: String, std_city: String) {
        var id: Int = std_id
        var name: String = std_name
        var city: String = std_city
        print("Student's ID is: $id, ")
        print("Student's Name is: $name, ")
        println("Student's City is: $city")
    }
}

Ausgabe:

Verwenden mehrerer sekundärer Konstruktoren in Kotlin

Rufen Sie einen sekundären Konstruktor aus einem anderen vorhandenen sekundären Konstruktor auf

Wir können einen sekundären Konstruktor in Kotlin mithilfe eines vorhandenen sekundären Konstruktors aufrufen. Wir müssen die Funktion this() verwenden.

Beispielcode:

fun main(args: Array<String>){
    Product(3,7)
}

class Product {
    // using this to call another secondary constructor
    constructor(x: Int,y:Int) : this(x,y,5) {
        var ProductOfTwo = x * y
        println("The product of the two integers is: $ProductOfTwo")
    }

    constructor(x: Int, y: Int,z: Int) {
        var ProductOfThree = x * y * z
        println("The product of the three integers is is: $ProductOfThree")
    }
}

Ausgabe:

Aufrufen eines sekundären Konstruktors von einem anderen sekundären Konstruktor in Kotlin

Rufen Sie einen sekundären Konstruktor aus der übergeordneten Klasse von einem sekundären Konstruktor in der untergeordneten Klasse auf

Neben dem Aufruf eines sekundären Konstruktors von einem anderen können wir auch den sekundären Konstruktor einer übergeordneten Klasse vom Konstruktor der untergeordneten Klasse aufrufen. Es ist ähnlich wie bei der Erbschaft.

Wir müssen das Schlüsselwort super verwenden, um den Konstruktor zu erben.

Beispielcode:

fun main(args: Array<String>) {
    childClass(11035, "David")
}

open class parentClass {

    constructor (std_id : Int, std_name: String, std_city: String) {
        var id: Int = std_id
        var name: String = std_name
        var city: String = std_city
        print("Student's ID is: $id, ")
        print("Student's Name is: $name, ")
        println("Student's City is: $city")
        println()
    }
}

class childClass : parentClass {

    constructor (std_id : Int, std_name: String):super(std_id,std_name,"New York"){
        var id: Int = std_id
        var name: String = std_name
        print("Student's ID is: $id, ")
        println("Student's Name is: $name")
    }
}

Ausgabe:

Aufrufen eines sekundären Konstruktors der übergeordneten Klasse aus dem sekundären Konstruktor der untergeordneten Klasse in Kotlin

Kailash Vaviya avatar Kailash Vaviya avatar

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

Verwandter Artikel - Kotlin Constructor