Sobes.tech
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")
    }
}