Sobes.tech
Junior — Middle

Qual regra determina a disponibilidade do Open Class, se é público ou privado?

sobes.tech IA

Resposta da IA

Em Swift, a palavra-chave open define o nível mais alto de acesso para classes e seus membros. Uma classe declarada como open está disponível para uso e herança não apenas dentro do módulo onde é declarada, mas também de outros módulos. Isso significa que uma classe open é pública e pode ser estendida e sobrescrita fora do módulo.

Regras de acesso para uma classe open:

  • Disponível de qualquer módulo (pública).
  • Pode ser herdada e sobrescrita fora do módulo.

Ao contrário de public, que permite usar a classe fora do módulo, mas não permite herança ou sobrescrita fora do módulo, open oferece máxima flexibilidade para extensão.

Exemplo:

open class Vehicle {
    open func start() {
        print("Vehicle started")
    }
}

// Em outro módulo, pode-se herdar e sobrescrever
class Car: Vehicle {
    override func start() {
        print("Car started")
    }
}