Junior — Middle
Koje pravilo određuje dostupnost Open Class, da li je javni ili privatni?
sobes.tech АИ
Одговор од АИ
У Swift-у, кључна реч open дефинише највиши ниво приступа за класе и њихове чланове. Класа проглашена као open доступна је за коришћење и наследство не само унутар модула у којем је проглашена, већ и из других модула. То значи да је open класа јавна и може бити проширена и преоптерећена ван модула.
Правила приступа за open класу:
- Доступна из било којег модула (јавна).
- Може бити наследена и преоптерећена ван модула.
За разлику од public, који омогућава коришћење класе ван модула, али не дозвољава наследство или преоптерећење ван модула, open пружа максималну флексибилност за проширење.
Пример:
open class Vehicle {
open func start() {
print("Vehicle started")
}
}
// У другом модулу може се наследити и преоптеретити
class Car: Vehicle {
override func start() {
print("Car started")
}
}