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")
}
}