Entendendo a palavra chave final.
Em Swift, a habilidade de uma classe herdar médotos, propriedade e características de outras classes, é uma habilidade maravilhosa e muito útil para nós desenvolvedores. Boa parte da plataforma iOS é construída justamente em cima dessa habilidade de herança de classes.
Porém, podem existir situações, onde não queremos permitir a herança de uma classe, método ou propriedade. Por isso existe a palavra chave final. Com ela, nenhuma outra classe pode herdar da classe que a posssui.
Exemplo
Deixo aqui esse código para deixar mais claro o que significa.
class Animal {
var espécie: String
init(espécie: String) {
self.espécie = espécie
}
}
final class Cachorro: Animal {
var nome: String
init(nome: String, espécie: String) {
self.nome = nome
super.init(espécie: espécie)
}
}
No exemplo acima, a classe Cachorro, herda da classe Animal. Porém, por ser uma final class nenhuma outra classe pode herdar da classe Cachorro.