Tutorials  /  Linux Basics

Kotlin Visibility Modifiers - Leitfaden

Ccentron Redaktion · März 2024 ·4 Min. Lesezeit ·Linux Basics, Tutorial

In diesem Tutorial werden wir die verschiedenen Sichtbarkeitsmodifikatoren besprechen, die in der Kotlin-Programmierung verfügbar sind.

Kotlin Visibility Modifiers

Sichtbarkeitsmodifikatoren sind Modifikatoren, die, wenn sie einer Klasse/Schnittstelle/Eigenschaft/Funktion in Kotlin hinzugefügt werden, definieren, wo alles sichtbar ist und von wo aus alles zugegriffen werden kann. Die Setter von Eigenschaften in Kotlin können einen separaten Modifikator von der Eigenschaft haben. Die Getter können keinen Sichtbarkeitsmodifikator definieren. Sie verwenden denselben Modifikator wie die Eigenschaft. Folgend sind die Sichtbarkeitsmodifikatoren:

  • public
  • protected
  • internal
  • private
VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Public Kotlin Visibility Modifiers

Ein Public Modifikator ist der Standardmodifikator in Kotlin. Ähnlich wie der Java public Modifikator bedeutet es, dass die Deklaration überall sichtbar ist.

Code
class Hello{
}

public class H{
}

fun hi()
public fun hello()

val i = 0
public val j = 5

Alle oben genannten Deklarationen befinden sich auf der obersten Ebene der Datei. ALLE sind öffentlich. Wenn wir die Deklaration der Mitglieder der Klasse nicht erwähnen, sind sie öffentlich (es sei denn, sie werden überschrieben).

Protected Kotlin Visibility Modifiers

Ein Protected Modifikator in Kotlin: KANN nicht für Deklarationen auf der obersten Ebene gesetzt werden. Deklarationen, die in einer Klasse geschützt sind, können nur in ihren Unterklassen zugegriffen werden.

Code
open class Pr{
    protected val i = 0
}

class Another : Pr{

    fun iValue() : Int
    {
        return i
    }
}

Klassen, die keine Unterklasse von Pr sind, können nicht auf i zugreifen. Deklarationen, die geschützt sind, haben beim Überschreiben denselben geschützten Modifikator in der Unterklasse, es sei denn, Sie ändern sie ausdrücklich.

Code
open class Pr{
    open protected val i = 0
}

class Another : Pr(){

    fun iValue() : Int
    {
        return i
    }
    
    override val i = 5 //protected visibility
}

Das Konzept der Protected Modifikatoren in Kotlin, das oben definiert ist, unterscheidet sich von dem in Java.

Internal Modifikator

Internal ist ein neuer Modifikator, der in Kotlin verfügbar ist und in Java nicht existiert. Eine Deklaration als internal zu setzen bedeutet, dass sie nur im selben Modul verfügbar sein wird. Mit Modul in Kotlin meinen wir eine Gruppe von Dateien, die zusammen kompiliert werden.

Code
internal class A {
}

internal val x = 0

Diese werden außerhalb des aktuellen Moduls nicht sichtbar sein. Internal Modifikatoren sind nützlich, wenn Sie bestimmte Bibliotheksimplementierungen vor den Benutzern verbergen müssen. Dies war mit der Paket-privaten Sichtbarkeit in Java nicht möglich.

Private Modifikatoren

Private Modifikatoren erlauben es nicht, dass die Deklarationen außerhalb des aktuellen Geltungsbereichs sichtbar sind.

Code
var setterVisibility: String = "abc"
private set

open class Pr{
    open protected val i = 0

    fun iValue() : Int
    {
        setterVisibility = 10
        return setterVisibility
    }
}

Da Kotlin mehrere Definitionen auf oberster Ebene erlaubt, funktioniert der obige Code. Der unten stehende funktioniert nicht.

Code
private open class ABC{
    private val x = 6
}

private class BDE : ABC()
{
    fun getX()
    {
        return x //x cannot be accessed here.
    }
}

x ist nur von innen seiner Klasse sichtbar. Wir können private Konstruktoren auf folgende Weise setzen:

Code
class PRIV private constructor(a: String) {
 ... 
}

Standardmäßig haben Klassen öffentliche Konstruktoren. Wohin auch immer die Klasse geht, folgt der Konstruktor. Wir müssen den Sichtbarkeitsmodifikator am Konstruktor selbst in der Definition setzen. Somit verwendet Kotlin die protected und internal Modifikatoren anders als Java. Auch der Standardmodifikator von Java ist paket-privat, was es in Kotlin noch nicht gibt. Damit endet dieses schnelle Tutorial über Sichtbarkeitsmodifikatoren in Kotlin.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren