Junior — Middle
Quale regola determina la disponibilità di Open Class, se è pubblico o privato?
sobes.tech AI
Risposta dell'AI
In Swift, la parola chiave open definisce il livello di accesso più alto per classi e loro membri. Una classe dichiarata come open è accessibile per l'uso e l'ereditarietà non solo all'interno del modulo in cui è dichiarata, ma anche da altri moduli. Ciò significa che una classe open è pubblica e può essere estesa e sovrascritta al di fuori del modulo.
Regole di accesso per una classe open:
- Disponibile da qualsiasi modulo (pubblico).
- Può essere ereditata e sovrascritta fuori dal modulo.
A differenza di public, che permette di usare la classe fuori dal modulo ma non consente ereditarietà o sovrascrittura fuori dal modulo, open offre la massima flessibilità per l'estensione.
Esempio:
open class Vehicle {
open func start() {
print("Vehicle started")
}
}
// In un altro modulo, si può ereditare e sovrascrivere
class Car: Vehicle {
override func start() {
print("Car started")
}
}