Junior — Middle
Welke regel bepaalt de beschikbaarheid van Open Class, of deze openbaar of privé is?
sobes.tech AI
Antwoord van AI
In Swift bepaalt het sleutelwoord open het hoogste toegangsniveau voor klassen en hun leden. Een klasse gedeclareerd als open is toegankelijk voor gebruik en overerving niet alleen binnen de module waarin het is gedeclareerd, maar ook vanuit andere modules. Dit betekent dat een open klasse openbaar is en buiten de module kan worden uitgebreid en overschreven.
Toegangsregels voor een open klasse:
- Toegankelijk vanuit elke module (openbaar).
- Kan buiten de module worden geërfd en overschreven.
In tegenstelling tot public, dat het gebruik van de klasse buiten de module toestaat, maar geen overerving of overschrijving buiten de module, biedt open maximale flexibiliteit voor uitbreiding.
Voorbeeld:
open class Vehicle {
open func start() {
print("Vehicle started")
}
}
// In een andere module kan worden geërfd en overschreven
class Car: Vehicle {
override func start() {
print("Car started")
}
}