Sobes.tech
Junior — Middle

Welche Regel bestimmt die Verfügbarkeit von Open Class, ob sie öffentlich oder privat ist?

sobes.tech KI

Antwort von AI

In Swift legt das Schlüsselwort open die höchste Zugriffsebene für Klassen und deren Mitglieder fest. Eine als open deklarierte Klasse ist nicht nur innerhalb des Moduls, in dem sie deklariert wurde, für die Verwendung und Vererbung zugänglich, sondern auch aus anderen Modulen. Das bedeutet, dass eine open-Klasse öffentlich ist und außerhalb des Moduls erweitert und überschrieben werden kann.

Zugriffsregeln für eine open-Klasse:

  • Zugänglich aus jedem Modul (öffentlich).
  • Kann außerhalb des Moduls vererbt und überschrieben werden.

Im Gegensatz zu public, das die Verwendung der Klasse außerhalb des Moduls erlaubt, aber keine Vererbung oder Überschreibung außerhalb des Moduls zulässt, bietet open maximale Flexibilität für Erweiterungen.

Beispiel:

open class Vehicle {
    open func start() {
        print("Vehicle started")
    }
}

// In einem anderen Modul kann geerbt und überschrieben werden
class Car: Vehicle {
    override func start() {
        print("Car started")
    }
}