Junior — Middle
¿Qué regla determina la disponibilidad de Open Class, si es público o privado?
sobes.tech AI
Respuesta de la IA
En Swift, la palabra clave open define el nivel de acceso más alto para clases y sus miembros. Una clase declarada como open está disponible para su uso y herencia no solo dentro del módulo donde se declara, sino también desde otros módulos. Esto significa que una clase open es pública y puede ser extendida y sobrescrita fuera del módulo.
Reglas de acceso para una clase open:
- Disponible desde cualquier módulo (pública).
- Puede ser heredada y sobrescrita fuera del módulo.
A diferencia de public, que permite usar la clase fuera del módulo pero no permite heredar o sobrescribir fuera del módulo, open ofrece la máxima flexibilidad para extender.
Ejemplo:
open class Vehicle {
open func start() {
print("Vehicle started")
}
}
// En otro módulo, se puede heredar y sobrescribir
class Car: Vehicle {
override func start() {
print("Car started")
}
}